天天看点

图像增强——同态滤波

同态滤波的过程如下图所示:

图像增强——同态滤波

代码:

clear all
clc
I0 =imread('56.jpg');
I0=rgb2gray(I0);
I1 = log(double(I0)+1);
I2 =fft2(I1);
N=2;D0=0.05*pi;rh=1.2;r=0.5;
[row,col]=size(I2);
form=1:row
    for n=1:col
        D1(m,n)=sqrt(m^2+n^2);
        H(m,n)=r+(rh/(1+(D0/D1(m,n))^(2*N)));
    end
end
I3=I2.*single(H);
I4=ifft2(I3);
I5=exp(I4)-1;
subplot(2,2,1);
imshow(I0);
title('原图像');
subplot(223),imhist(I0)
subplot(2,2,2);
imshow(I5,[]);
title('同态滤波后的图像');
%% 求同态滤波后的直方图
uint_I=real(I5);
Imax=max(uint_I(:));
Imin=min(uint_I(:));
fori=1:size(uint_I,1)
    for j=1:size(uint_I,2)
        I(i,j)=(uint_I(i,j)-Imin)/(Imax-Imin);
    end
end
I=255*I;
I=floor(I);
subplot(224),imhist(uint8(I));
figure,mesh(double(I));
title('Three-dimensional map');
           

结果:

图像增强——同态滤波
图像增强——同态滤波
图像增强——同态滤波
图像增强——同态滤波

同态滤波法,通过选择合适的同态滤波器,达到压制低频部分(照度分量)而增强(提升)高频部分(反射分量)的目的。由处理的结果图可以看出,处理后的图像的目标物细节变得清晰可见。

上一篇: vim缩进

继续阅读