含源码|基于MATLAB的去雾系统(5种去雾算法+1种本文的改进算法)

去雾系统V2包括作者新加入的多尺度Retinex去雾算法以及改进去雾算法,以及4种评价去雾效果的客观指标
在这里插入图片描述

00 目录

引言
去雾系统新增功能
结果分析
源码获取
展望
参考文献

01 引言

在作者前面写过的文章中,已经介绍过图像去雾算法的应用价值及研究现状,并且也介绍了4种去雾算法的原理及代码实现(全局直方图均衡化、局部直方图均衡化、暗通道先验、Retinex理论的去雾算法),将这4种算法集成在一个GUI中。但首先该系统缺乏对去雾效果的评价指标,其次4种算法对一些图像的去雾效果欠佳,因此作者对该系统做了改进,引入了4种评价指标,增加了2种算法,其中一种也是一种简单改进,最后也是取得了不错的效果。

02 去雾系统新增功能

2.1 去雾系统现有功能

在介绍新功能前,先介绍原去雾系统的功能,对于原去雾系统,集成4种算法。3种增强型去雾算法——全局/局部直方图均衡化、Retinex理论的去雾算法,这类去雾算法没有考虑雾图像的成因,只是通过提高图像对比度,改善了图像的视觉效果,不能从根本上对图像进行去雾,而且容易丢失图像信息;其次是一种复原型去雾算法——暗通道先验算法,这类算法是基于大气散射物理模型,通过寻找先验知识,求解模型中的未知量,获得清晰图像[1],这类算法的难点在于对于模型参数的估计能否准确。下面将介绍V2.0版本的去雾系统新增功能。

2.2 增强型去雾算法——多尺度Retinex算法(Multi Scale Retinex,MSR)原理

Retinex算法最早由E.Land提出,该算法是根据人类视觉感知色彩的恒常性提出的一种大脑皮层理论,根据反射分量来估计物体的颜色,单尺度Retinex算法于1997年被Jobson[2]提出,该算法能有效的增强图像,但由于尺度单一,因此提出了对于雾气分布均匀的雾图像具有良好效果的多尺度Retinex算法[3]。MSR算法在Retinex算法的基础上从大、中、小三个尺度实行计算,小尺度的 Retinex 算法能实现图像的动态范围压缩,大尺度Retinex 算法可使图像的色调再现,中尺度的 Retinex 兼顾图像的动态范围压缩与颜色保真之间的平衡性,同时按照1/3比例加权各尺度,平衡颜色保持与细节增强,降低图像边缘可能出现的光晕。MSR 算法可以弥补Retinex算法的不足,使得图像的颜色保真度以及动态压缩都有大幅度提高。
多尺度 Retinex算法的基本公式如下:

在这里插入图片描述

其中,Ri(x ,y)是输出的图像,i∈R,G,B表示3个颜色谱带,Fn(x,y)是高斯滤波函数,Wn表示尺度的权重因子,N表示使用尺度的个数,N=3,表示彩色图像,i∈R,G,B。N=1,表示灰度图像。从公式中可以看出,多尺度Retinex算的特点是能产生包含色调再现和动态范围压缩这两个特性的输出图像。

在多尺度Retinex算法的雾霾图像清晰化过程中,图像可能会因为增加了噪声而造成对图像中的局部区域色彩失真,使得物体的真正颜色效果不能很好的显现出来,从而影响了整体视觉效果。为了弥补这个缺点,一般情况下会应用带色彩恢复因子C的多尺度Retinex算法来解决。带色彩恢复因子C的多尺度Retinex算法是在多个固定尺度的基础上考虑色彩不失真恢复的结果,在多尺度 Retinex算法过程中,我们通过引人一个色彩因子C来弥补由于图像局部区域对比度增强而导致图像颜色失真的缺陷,通常情况下所引入的色彩恢复因子C的表达式为:

在这里插入图片描述

其中,C表示第个通道的色彩恢复系数,它的作用是用来调节3个通道颜色的比例,f(·)表示的是颜色空间的映射函数。带色彩恢复的多尺度Retinex算法通过色彩恢复因子C这个系数来调整原始图像中三个颜色通道之间的比例关系,**从而通过把相对有点暗的区域的信息凸显出来,**以达到消除图像色彩失真的缺陷。处理后的图像局域对比度提高,而且它的亮度与真实的场景很相似,图像在人们视觉感知下显得极其逼真。

2.3 本文的去雾算法

本法是对导向滤波的暗通道先验算法求得的去雾图像经拉伸后与进行自适应直方图均衡化得到的去雾图像线性融合到一幅图像上,该方法类似于图像抠图法,该方法是将不同雾天的降质图像看作由前景和背景以不同比例组合产生的,但本文的算法是该方法的简化版,最终取得的效果也较好,也算是有一点价值。

2.4 评价指标

图像去雾性能的评价包括主观和客观两种,由于对于图像去雾算法的有效性通过人的主观直觉来进行时,容易受到绝对主体地位的个人主观因素的干扰,往往会影响正确的判断,可靠性不高,所以客观定量的评价去雾效果是必须的。本文选择信息熵值、可见边比、可见边规模化梯度均值、饱和黑白像素点百分比[4]作为客观评价指标对去雾图像进行评价,其中信息熵值、可见边比、可见边规范化梯度均值、越大,饱和黑白像素点百分比越小说明去雾后效果更好。

2.4.1 信息熵值

计算信息熵评价值的大小就是求图像灰度值的总期望。图像的细节信息的多少可以由信息熵的评价结果来表征,如果图像包含的信息越多,那么信息熵的值也会越大。其计算公式:

在这里插入图片描述

2.4.2 可见边比

可见边比的计算公式为:
在这里插入图片描述

式中,n0为原图像中可见边的数目,nr为去去雾后的图像中可见边的数目,如果去雾效果好,去雾后的图像会变得清晰,会有更多边缘可见,则很好的体现了图像细节对比度增强的效果。

2.4.3 可见边规范化梯度均值

可见边规范化梯度均值计算公式为:
在这里插入图片描述

中:r表示可见边的相关系数,VLr 和VLo分别代表去雾图像和原图像中目标的能见度水平,ΔIr和ΔIo表示去雾图像和原图像中可见边上像素点的梯度值,r ̅为去雾图像中所有可见边的集合,Pi为在可见边上的像素点。通过加权所有位于可见边上的像素点的Sobel梯度比值,获得对可见边对比度所增加强度的衡量。

2.4.4 饱和黑白像素点百分比

对于饱和黑色或白色像素点的百分比σ,可表示为
在这里插入图片描述

式中:ns为去雾后的图像中饱和的白色或黑色像素点的数目,dimx和dimy分别表示图像的宽和高。 σ体现了去雾后图像中饱和像素点所占的比例,即图像过增强的强度。

03 结果分析

将同一雾图用以上方法进行去雾,得到的结果如下
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

从运行结果来看,客观指标上本文的去雾算法各项都较好,而主观观察上也能够看出本文的去雾算法效果较之其它算法是更佳的,本文所提出的改进方法总体上效果令人满意。

04 源码获取

https://mbd.pub/o/bread/ZJmTmZdy
(保证运行,有任何问题私信作者)

05 展望

首先,本文虽然采用4种客观评价指标,但实际中有时它们不能达到统一,出现度量不一致的现象;另一方面,当去雾图像出现过增强时,图像边缘处的对比度能得到很大的增强,但往往同时也会出现颜色失真,从而极大地影响可视性,而基于可见边比的方法并不能反映这一现象,因为其评价参量都没有考虑对颜色失真的度量。 因此,基于该方式的评价准则还需要进一步完善。

其次,本文所用算法运行用时较之其它算法用时长,在某些去雾图像上也存在失真和噪声的问题,这将在后面的研究中加以改进。

最后,如果各位同学对该去雾系统有其它改进想法或有想要增加的功能可以私信作者,作者可以在此基础上再进行改进。

06 参考文献

[1]He Kaiming,Sun Jian,Tang Xiaoou.Single image haze removal using dark channel prior[C]//IEEE Conference on Computer Vision and Pattern Recognition,2009:1956-1963.】
[2] 韩涛, 张虎龙, 邹强. 基于二维小波变换的图像除雾技术[J].电子设计工程,2017, 25(07): 191-193.
[3]Jobson D J, Rahman Z, Woodell G A. Properties and performance of a center surround retinex[J]. IEEE Transactions on Image Processing, 1997, 6(3): 451-462
[4] HAUTIERE N,TARELJ P,AUBERT D,et al.Blind contrast enhancement assessment by gradient ratioing at visibleedges[J]. Image Analysis and Stereology Journmal,2008,27( 2):87-95.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/643232.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

绝地求生:本周三停机维护更新4小时: RASH悲喜套装即将下线!

本周三将迎来停机维护更新四小时~,同时游戏商城内RASH悲喜联名套装即将下线,同时空投签到任务和荣都地图翻牌任务即将下线~ 预计维护时间: 2024年1月24日08:00~12:00 本周地图轮换情况 (1月24日 ~ 1月31日) 可自主选择地图的地区:艾伦格、泰戈、帝斯顿、…

DL/T 645 协议学习笔记

一、多功能电能表通信协议 DL/T645多功能电能表通信协议(Multi-function watt-hour meter communication protocol)标准是为统一和规范电能表的多功能电能表与数据终端设备进行数据交换时的物理连接和协议。 1、RS-485 标准串行电气接口 本标准采用 RS-…

5.Python爬虫前的准备工作

知识准备 1) Python语言 Python 爬虫作为 Python 编程的进阶知识,要求具备较好的 Python 编程基础 了解 Python 语言的多进程与多线程,并熟悉正则表达式语法,也有助于编写爬虫程序 2) Web前端 了解 Web 前端的基本知识,比如 …

用Netty手写Http/Https服务器

Netty是一个以事件驱动的异步通信网络框架&#xff0c;可以帮助我们实现多种协议的客户端和服务端通信&#xff0c;话不多说&#xff0c;上代码&#xff0c;需要引入下方依赖 <dependency><groupId>io.netty</groupId><artifactId>netty-all</artif…

BUU LFI COURSE 1

靶场教程 1.开局界面&#xff0c;已给出源代码。2.存在文件包含include &#xff0c;直接通过传参 file 进行获取 flag。3.通过访问 url 发现报错&#xff0c;说明 flag 并不在当前目录下&#xff0c;只需要向前访问目录即可。 http://b6ed0fd6-c852-40d0-b285-32d9d00fbf00.…

抖去推短视频矩阵系统+实景无人直播系统技术源头开发

抖去推爆款视频生成器&#xff0c;通过短视频矩阵、无人直播&#xff0c;文案引流等&#xff0c;打造实体商家员工矩阵、用户矩阵、直播矩阵&#xff0c;辅助商家品牌曝光&#xff0c;团购转化等多功能赋能商家拓客引流。 短视频矩阵通俗来讲就是批量剪辑视频和批量发布视频&a…

查询小世界账号网页HTML源码

HTML源码&#xff0c;记事本打开后可以修改里面的内容&#xff0c;电脑本地双击html可以查看效果&#xff0c;复制小世界个人主页链接就可以查询QQ号&#xff0c; 蓝奏云&#xff1a;https://wfr.lanzout.com/ihXCn1lz2jnc

4G物联网LED智慧路灯杆显示屏产品介绍

4GLED显示屏是一种具有4G网络连接功能的LED显示屏。它可以通过4G网络连接到互联网&#xff0c;实现远程管理和控制&#xff0c;方便进行内容更新和管理。同时&#xff0c;4GLED显示屏具有高亮度、高清晰度和高对比度的特点&#xff0c;可以提供清晰明亮的图像和视频展示效果。它…

omron adept控制器维修SmartController EX

欧姆龙机器人adept运动控制器维修SmartController EX 19300-000 维修范围&#xff1a;姆龙机器人&#xff1b;码垛机器人&#xff1b;搬运机器人&#xff1b;焊机机器人&#xff1b;变位机等。 Adept Viper s650/s850用于装配、物料搬运、包装和机械装卸&#xff0c;循环周期短…

二进制?十进制!(C语言刷题)(位运算)

专栏:https://blog.csdn.net/2301_79293429/category_12545690.html 题目描述 给定两个十进制整数 : A,B 你需要把它们的二进制形式以十进制的运算法则相加输出结果。 例如&#xff1a; A3,B2的时候&#xff0c;A 的二进制表示是 : 11 , B 的二进制表示是 10 &#xff0c;…

物流实时数仓——概述与准备工作

目录 一、架构设计与技术栈 (一)数仓架构设计 (二)所用技术栈 (三)最终效果 二、关于离线与实时的相关概念 三、实时数仓设计思路 一、架构设计与技术栈 (一)数仓架构设计 (二)所用技术栈 Hadoop 3.3.4 Zookeeper 3.7.1 Kafka 3.3.1 Hbase 2.4.11 Redis 6.0.8 Flink 1.17…

Leetcode2806. 取整购买后的账户余额

Every day a Leetcode 题目来源&#xff1a;2806. 取整购买后的账户余额 解法1&#xff1a;数学 题目要求为将 purchaseAmount 四舍五入到最近的 10 的倍数作为 roundedAmount&#xff0c;计算 100−roundedAmount 的值并返回。 分类讨论即可。 代码&#xff1a; /** lc…

机器学习实验3——支持向量机分类鸢尾花

文章目录 &#x1f9e1;&#x1f9e1;实验内容&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1;数据预处理&#x1f9e1;&#x1f9e1;代码认识数据相关性分析径向可视化各个特征之间的关系图 &#x1f9e1;&#x1f9e1;支持向量机SVM求解&#x1f9e1;&#x1f9e1;直觉…

Parade Series - Android Studio

硬件支持 CPU i7 RAM 16Gb -------------- ------- Java 3Gb Android 33GbJava Enviroment C:\ ├─ Java │ ├─ jdk1.8.0_181 │ ├─ jre1.8.0_181 │ ├─ maven-3.8.5 │ └─ gradle-6.5 └─ Cache├─ gr…

世微AP2915宽电压无MOS管切换双色灯性价比方案

1&#xff1a;产品描述 AP2915 是一款可以一路灯串切换两路灯串的降压恒流驱动器,高效率、外围简单、内置功率管&#xff0c;适用于 5-100V 输入的高精度降压 LED 恒流驱动芯片。内置功率管输出功率可达 12W&#xff0c;电流 1.2A。AP2915 一路灯亮切换两路灯亮&#xff0c;其…

【第十五课】数据结构:堆 (“堆”的介绍+主要操作 / acwing-838堆排序 / c++代码 )

目录 关于堆的一些知识的回顾 数据结构&#xff1a;堆的特点 "down" 和 "up"&#xff1a;维护堆的性质 down up 数据结构&#xff1a;堆的主要操作 acwing-838堆排序 代码如下 时间复杂度分析 确实是在写的过程中频繁回顾了很多关于树的知识&…

使用ElEment组件实现vue表单校验空值

1.绑定表单组件数组rules 2.在data域中设定组件rules 3.设定调用方法函数 提交校验 取消&#xff1a; 测试页面 提交空值 失去焦点 取消重置 提交后重置

Studio One 6 mac 6.5.2 激活版 数字音乐编曲创作

PreSonus Studio One是PreSonus出品的一款功能强大的音乐创作软件。主要为用户提供音乐创作、录音、编辑、制作等功能。它可以让你创造音乐&#xff0c;无限的轨道&#xff0c;无限的MIDI和乐器轨道&#xff0c;虚拟乐器和效果通道&#xff0c;这些都是强大和完美的。 软件下载…

【Maven】-- 打包添加时间戳的两种方法

一、需求 在执行 mvn clean package -Dmaven.test.skiptrue 后&#xff0c;生成的 jar 包带有自定义系统时间。 二、实现 方法一&#xff1a;使用自带属性&#xff08;不推荐&#xff09; 使用系统时间戳&#xff0c;但有一个问题&#xff0c;就是默认使用 UTC0 的时区。举例…

单片机11-13

目录 蜂鸣器 蜂鸣器播放按键提示音 蜂鸣器播放音乐 AT24C02&#xff08;IIC&#xff09;总线 AT24C02数据存储 AT24C02秒表&#xff08;定时器扫描按键&#xff09; DS18B20温度传感器&#xff08;单总线&#xff09; 温度显示 温度报警器 蜂鸣器 蜂鸣器播放按键提示音…