同态滤波 matlab 程序

%同态滤波
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));  
% imshow(I3);
% subplot(122),imshow(I3,[]);title('同态滤波增强后');  

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值