实现代码:
function I3 = test_tontai(I)
I=double(rgb2gray(I));
[M,N]=size(I);
rL=0.5;
rH=4.7;%可根据需要效果调整参数
c=2;
d0=10;
I1=log(I+1);%取对数
FI=fft2(I1);%傅里叶变换
n1=floor(M/2);
n2=floor(N/2);
for i=1:M
for j=1:N
D(i,j)=((i-n1).^2+(j-n2).^2);
H(i,j)=(rH-rL).*(exp(c*(-D(i,j)./(d0^2))))+rL;%高斯同态滤波
end
end
I2=ifft2(H.*FI);%傅里叶逆变换
I3=real(exp(I2));
subplot(122),imshow(I3,[]);title('同态滤波增强后');
实验发现,同态滤波有类似于高动态范围压缩的效果,比如可以把图像暗的部分提亮。
下图为原始图像,属于低曝光的一幅图像:
同态滤波后:
原文:http://blog.csdn.net/scottly1/article/details/42705271