|
clc;clear all
%--------参数---------
a = 0.2;b = 0.5;
c = 0.2; d = 0.6;
I = imread('lena.jpg');
I_gray = rgb2gray(I);
subplot(1,2,1);imshow(I_gray);
[m,n] = size(I_gray);
for i = 1:m
for j = 1:n
pv = double(I_gray(i,j))/255.0;
if pv<a
I_gray(i,j) =double(I_gray(i,j))* c / a;
elseif pv<b && pv>=a
I_gray(i,j) =(d-c)/(b-a)*(double(I_gray(i,j))-a)+c;
else
I_gray(i,j) =(1.0-d)/(1.0-b)*(double(I_gray(i,j))-b)+d;
end
end
end
subplot(1,2,2);imshow(uint8(I_gray),[]); |
|