【图像去雾】基于双边滤波算法实现图像去雾附Matlab源码

简介: 【图像去雾】基于双边滤波算法实现图像去雾附Matlab源码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

基于双边滤波算法实现图像去雾是一种常用的方法,用于恢复由大气雾霾引起的图像模糊和低对比度问题。以下是一个基本的步骤框架:

  1. 雾图像预处理:首先对输入的雾图像进行预处理,例如校正伽马校正、直方图均衡化等操作,以增强图像的动态范围。
  2. 估计大气光:通过在雾图像中寻找最亮的像素点来估计全局大气光值。这些最亮像素通位于天空区域或具有很高亮度值的区域。
  3. 估计透射率:利用双边滤波算法估计图像中每个像素点的透射率。双边滤波是一种考虑空间距离和灰度相似性的滤波器,能够有效降低噪声同时保留边缘信息。
  4. 运用射率进行去雾:使用估计得到的透射率和大气光值,对雾图像进行去雾处理。其中,去雾公式为:I = (J - A) / t +I为去雾图像,J为输入雾图像,A为估计得的大气光,t为透射率。
  5. 去雾结果后处理:对去雾结果进行后处理,例如对比度增强、锐化或色彩校正等操作,以进一步提升图像的质量和视觉效果。

需要注意的是,双边滤波算法在去雾过程中能够保留边缘细节,但在复杂场景、低光照条件或存在运动模糊时可能产生其它问题。因此,在实际应用中,可以根据具体情况和需求,采用其他图像处理技术和算法来改进和优化图像去雾的效果。

⛄ 部分代码

clcclear allclose all%imageRGB = imread('picture.bmp');%imageRGB = imread('shishi.jpg');imageRGB = imread('traffic.jpg');imageRGB = double(imageRGB);imageRGB=imageRGB./255;figure;%subplot(2,1,1);imshow(imageRGB), title('原始图像');% imwrite(imageRGB(2:516,2:689,:),'D:\所有去雾程序\新建文件夹\双边滤波去雾\双边椒盐7(1)去雾截.bmp');% subplot(2,1,2);imhist(rgb2gray(imageRGB));% imageRGB=imnoise(imageRGB,'gaussian',0.02);% figure;% imshow(imageRGB);title('加噪图');sz=size(imageRGB);w=sz(2);h=sz(1);dark=darkChannel(imageRGB);figure,imshow(dark);title('暗通道图像');% imwrite(dark,'traffic_1.jpg')[m,n,~] = size(imageRGB);%估计大气光值A,从暗通道中按亮度大小提取最亮的前0.1%像素。然后在原始有雾图像I中寻找对应位置上的具有最亮亮度的点的值,并以此作为A的值imsize = m * n;numpx = floor(imsize/1000);JDarkVec = reshape(dark,imsize,1);ImVec = reshape(imageRGB,imsize,3);    im(:,:,ind) = imageRGB(:,:,ind)./atmospheric(ind);enddark_2=darkChannel(im);%P15页对大气光归一化以后求取暗通道t = 1-omega*dark_2;%对透射率粗估计figure,imshow(t), title('原始透射图');% imwrite(t,'traffic_2.jpg')filter=0.9*bfltGray(t,1,3,0.1);t_d = filter;figure,imshow(t_d), title('双边滤波后透射图');A = min([minAtomsLight, max(max(dc2))]); %确定大气光强J = zeros(h,w,3);img_d = double(img);r = krnlsz*3;eps = 10^-6;filtered = guidedfilter(double(rgb2gray(img))/255, t_d, r, eps);%指导滤波t进行增强t_d = filtered;% figure,imshow(t_d,[]),title('滤波后 t');J(:,:,1) = (img_d(:,:,1) - (1-t_d)*A)./t_d;J(:,:,2) = (img_d(:,:,2) - (1-t_d)*A)./t_d;J(:,:,3) = (img_d(:,:,3) - (1-t_d)*A)./t_d;figure,imshow(uint8(J)), title('去雾图像');%}

⛄ 运行结果

⛄ 参考文献

[1] 胡薇,高银.基于边界限制的自适应双边滤波单幅图像去雾算法[J].  2020.DOI:10.3788/LOP57.241505.

[2] 王园园,黄丽琼.基于双边滤波器的雾霾天气交通标志图像去雾算法[J].舰船电子工程, 2019, 39(12):3.DOI:CNKI:SUN:JCGC.0.2019-12-031.

[3] 温立民,巨永锋,王会峰,等.基于双边滤波暗原色透射率细化的图像去雾算法[J].测控技术, 2020, 39(4):4.DOI:CNKI:SUN:IKJS.0.2020-04-013.

[4] 王一帆,尹传历,黄义明,等.基于双边滤波的图像去雾[J].中国图象图形学报, 2014, 19(3):7.DOI:10.11834/jig.20140307.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料

🍅 仿真咨询

1.卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
2.图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
3.旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划
4.无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配
5.传感器部署优化、通信协议优化、路由优化、目标定位
6.信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号
7.生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化
8.微电网优化、无功优化、配电网重构、储能配置
9.元胞自动机交通流 人群疏散 病毒扩散 晶体生长





相关文章
|
1天前
|
算法 数据安全/隐私保护 计算机视觉
基于二维CS-SCHT变换和LABS方法的水印嵌入和提取算法matlab仿真
该内容包括一个算法的运行展示和详细步骤,使用了MATLAB2022a。算法涉及水印嵌入和提取,利用LAB色彩空间可能用于隐藏水印。水印通过二维CS-SCHT变换、低频系数处理和特定解码策略来提取。代码段展示了水印置乱、图像处理(如噪声、旋转、剪切等攻击)以及水印的逆置乱和提取过程。最后,计算并保存了比特率,用于评估水印的稳健性。
|
1天前
|
算法
有史以来最全的图像相似度算法
有史以来最全的图像相似度算法
4 0
|
1天前
|
算法 计算机视觉
基于高斯混合模型的视频背景提取和人员跟踪算法matlab仿真
该内容是关于使用MATLAB2013B实现基于高斯混合模型(GMM)的视频背景提取和人员跟踪算法。算法通过GMM建立背景模型,新帧与模型比较,提取前景并进行人员跟踪。文章附有程序代码示例,展示从读取视频到结果显示的流程。最后,结果保存在Result.mat文件中。
|
1天前
|
资源调度 算法 块存储
m基于遗传优化的LDPC码OMS译码算法最优偏移参数计算和误码率matlab仿真
MATLAB2022a仿真实现了遗传优化的LDPC码OSD译码算法,通过自动搜索最佳偏移参数ΔΔ以提升纠错性能。该算法结合了低密度奇偶校验码和有序统计译码理论,利用遗传算法进行全局优化,避免手动调整,提高译码效率。核心程序包括编码、调制、AWGN信道模拟及软输入软输出译码等步骤,通过仿真曲线展示了不同SNR下的误码率性能。
9 1
|
1天前
|
机器学习/深度学习 人工智能 算法
【图像版权】论文阅读:CRMW 图像隐写术+压缩算法
【图像版权】论文阅读:CRMW 图像隐写术+压缩算法
9 0
|
1天前
|
存储 算法 数据可视化
基于harris角点和RANSAC算法的图像拼接matlab仿真
本文介绍了使用MATLAB2022a进行图像拼接的流程,涉及Harris角点检测和RANSAC算法。Harris角点检测寻找图像中局部曲率变化显著的点,RANSAC则用于排除噪声和异常点,找到最佳匹配。核心程序包括自定义的Harris角点计算函数,RANSAC参数设置,以及匹配点的可视化和仿射变换矩阵计算,最终生成全景图像。
|
1天前
|
算法 Serverless
m基于遗传优化的LDPC码NMS译码算法最优归一化参数计算和误码率matlab仿真
MATLAB 2022a仿真实现了遗传优化的归一化最小和(NMS)译码算法,应用于低密度奇偶校验(LDPC)码。结果显示了遗传优化的迭代过程和误码率对比。遗传算法通过选择、交叉和变异操作寻找最佳归一化因子,以提升NMS译码性能。核心程序包括迭代优化、目标函数计算及性能绘图。最终,展示了SNR与误码率的关系,并保存了关键数据。
15 1
|
1天前
|
算法 调度
考虑需求响应的微网优化调度模型【粒子群算法】【matlab】
考虑需求响应的微网优化调度模型【粒子群算法】【matlab】
|
1天前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)
|
1天前
|
算法 调度
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)

热门文章

最新文章