【图像增强】基于高斯同态滤波实现图像增强附matlab代码

1 简介

沙尘天气下采集得到的图像会呈现对比度下降,图像动态范围被压缩造成模糊不清等问题.针对在沙尘图像增强处理时传统单一图像增强方法存在的不足,融合了同态滤波与直方图均衡化的方法,在HSV颜色空间对V分量进行同态滤波处理,对H和S分量进行自适应直方图均衡化处理,在滤波时使用了巴特沃斯滤波器,并利用线性对比度拉伸来提高图像的质量.对沙尘天气下采集的图像,利用Matlab进行仿真验证,可以看到该方法对沙尘图像有很好的增加效果,既提高了图像的对比度,又较好地克服了同态滤波色彩失真严重的问题.

2 完整代码

%同态滤波 

clear all;clc;

a=imread('image.png');

a=rgb2gray(a);

b=double(a);

[m,n]=size(b);

rL=0.5;   %默认低频增益  

rH=2.0;   %默认高频增益

c=1.5;      %控制滤波器函数斜面

d0=1800;    %截止频率

b1=log(b+1);%取对数

FI=fft2(b1);%二维傅里叶变换

x=floor(m/2);%floor向下取整

y=floor(n/2);

for u=1:m

    for v=1:n 

        D1(u,v)=((u-x).^2+(v-y).^2);%求点到频率矩形中心的距离

        H1(u,v)=(rH-rL).*(1-(exp(c*(-D1(u,v)./(d0^2)))))+rL; % 高斯同态滤波 

       % H1(u,v)=(rH-rL).*(1/(1+(d0/c*(D2(i,j).*1)^2)))+rL; % 巴特沃斯滤波器   

     end

end

b2=ifft2(H1.*FI);%傅里叶逆变换

b3=real(exp(b2));%指数变换

figure,

subplot(121);imshow(a);title('原图');

subplot(122);

imshow(b3,[]);title('同态滤波后图像');%显示处理后图像

%绘制滤波函数曲线

d=1:1:30000;%设定滤波函数的横坐标范围

H11=(rH-rL)*(1-exp(-c*(d.^2/d0^2)))+rL;

%H11 =(rH-rL)*(1+(d0./d*c).^2).^-1+rL;

figure,

plot(H11);title('滤波函数H(u,v)');

grid on

3 仿真结果

4 参考文献

[1]周佐, and 张静. "基于同态滤波与直方图均衡的沙尘图像增强研究." 信息与电脑. 

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值