同态滤波处理夜间雾霾图像

代码如下

clc
close all;
clear all;
X=imread('');
I=rgb2hsv(X);
h=I(:,:,1);
S=I(:,:,2);
V=I(:,:,3);
[M,N]=size(V);
rL=0.2;
rH=2;%可根据需要效果调整参数
c=1;
d0=300;
I1=log(double(V)+eps);%取对数
FI=fft2(I1);%傅里叶变换
n1=floor(M/2);
n2=floor(N/2);
for u=1:M
    for v=1:N
        D(u,v)=sqrt((u-n1)^2+(v-n2)^2);  
        H(u,v)=(rH-rL).*(1-exp(-c.*(D(u,v)^2./d0^2)))+rL;%高斯同态滤波  
    end
end
I2=ifft2(H.*FI);%傅里叶逆变换
I3=real(exp(I2));
%S=adapthisteq(S); 
HSV(:,:,1)=h;       
HSV(:,:,2)=S;
HSV(:,:,3)=I3;
img=hsv2rgb(HSV);
figure;
imshow(img);
figure;
%x=0:1:1000;
%y=(rH-rL).*(1-exp(-c.*(x.^2./(d0^2))))+rL;
[x,y]=meshgrid(-100:1:100);  
D=sqrt((x-n1)^2+(y-n2)^2)
H=(rH-rL).*(1-exp(-c.*(D.^2./d0.^2)))+rL;%高斯同态滤波 
mesh(x,y,H,'edgecolor','green');
title('同态滤波函数');
figure;
imshow(X);
  

运行结果

处理前

处理后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值