图像的对数变换:

将图像的低灰度值部分扩展,高灰度值部分压缩。借此强调图像低灰度部分。

该法用于图像增强的原理:

显示器无法显示大范围灰度值时,许多灰度细节会被丢失掉,

对数变换可将其动态范围变换到一个合适的区间,就可以显示更多细节。

对数变换公式:S=c log(1+r) , c为常数。

对代码中调用函数等知识点不熟悉可查看:基础知识点

采用对数变换对图像进行增强,代码实现:

%主函数
function Logtransformation()
f = imread(\'lena.png\');  
I=im2double(f); % matlab中数值一般采用double型(64位)存储和运算。
I2=log_transform(I); %使用对数变换函数
subplot(1,2,1);  
imshow(f);  
xlabel(\' a). Original Image\');  
subplot(1,2,2);  
imshow(I2,[]);   % 自动调整数据的范围以便于显示 
xlabel(\' b). Log Transformation\');  
end

%自定义对数变换函数
function A = log_transform(I)

[m,n]=size(I);
a=I;
for i=1:m
    for j=1:n
        a(i,j)=log(I(i,j)+1);
    end
end
A=a;
end

运行结果:

版权声明:本文为匿名原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: