clear all
I=imread('tun.jpg');
subplot(2,2,1),imshow(I); title('原图')
I0=rgb2gray(I);
I=double(rgb2gray(I))+1;
subplot(2,2,3),imhist(I0),title('原始图像直方图');
[M,N]=size(I);
rL=0.2;
rH=2.0; % 可根据需要效果调整参数
c=2;
d0=10;
I1=log(I);
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));
I4=mat2gray(I3);
subplot(2,2,2),imshow(I3,[]); title('同态滤波增强后');
subplot(2,2,4),imhist(I4),title('同步滤波图像直方图');