用MATLAB编程实现对一幅灰度图像的非线性对数变换,变换表达式为:g(i,j)=a+ln[f(i,j)+1]/(b*lnc)。式中a,b,c用于调整曲线的位置和形状。
img = imread('aa.jpg');
img1 = img(:,:,1);
img = double(img1);
a = 1;
b= .05;
for i = 1:size(img,1);
for j = 1:size(img,2)
g(i,j)=a+log(img(i,j)+1)./(b.*log(2));
end
end
figure,subplot(211),imshow(img1),title('原图')
subplot(212),imshow(uint8(g)),title('变换后的图像')