用MATLAB编程进行数字图像处理

用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('变换后的图像')

温馨提示:答案为网友推荐,仅供参考
相似回答