同态滤波

来源:互联网 发布:手机淘宝二维码扫一扫 编辑:程序博客网 时间:2024/05/12 23:13
%同态滤波实现%%clc;clear all;close all;img=imread('C:\Users\meng\Desktop\124.bmp');subplot(2,2,1),imshow(img),title('the initial picture');img=im2double(img);lnimg=log(img+0.000001);%取对数Fimg=fft2(lnimg);%傅里叶变换P=fftshift(Fimg);%将频域原点移到图像中心;[M,N]=size(P);subplot(2,2,2),imshow(uint8(abs(P)),[]),title('滤波前的频谱图像')x0=floor(M/2);y0=floor(N/2);%同态滤波参数设置D0=100;c=1.50;Hh=2;Hl=0.5;%Hh>1,Hl<1for u=1:M for v=1:N D(u,v)=(u-x0)^2+(v-y0)^2;H(u,v)=(Hh-Hl)*(1-exp(-c*(D(u,v)^2/D0^2)))+Hl;%同态滤波器函数end endhImg=Fimg.*H;%滤波,矩阵点乘Q=fftshift(hImg);%傅里叶逆变换subplot(2,2,3),imshow(uint8(abs(Q))),title('滤波后的频谱图像')gImg=ifft2(hImg);%反傅立叶变换 Y=exp(gImg); %取指数 J=im2uint8(Y);subplot(2,2,4),imshow(J),title(' the hormomorphic image')figure(2)imshow(J)
0 1
原创粉丝点击