版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/scottly1/article/details/42705271
原
实现代码:
-
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
但是为什麽我修改了rH的值看起来却没有变化呢?(3年前#5楼)查看回复(1)举报回复
同态滤波 matlab 程序 - songyimin1208的博客
10-18 4165
%同态滤波 function I3 = test_tontai(I)
I=double(rgb2gray(I));
[M,N]=size(I);
rL=0.5;
rH=4.7;%…
来自: songyimin1208的博客