导向滤波算法 java_一种基于双通道先验和侧窗导向滤波的单幅图像去雾方法与流程...
本发明属于计算机图像处理的领域,用于图像或者视频去雾等相关领域;具体涉及一种基于双通道先验和侧窗导向滤波的单幅图像去雾方法。
背景技术:
图像采集过程中,由于雾天的影响,使得景物的能见度大幅降低,再加上大气光线的影响,造成获得的图像受到严重的质量退化,对比度大大降低。图像质量的退化会严重影响其后续处理,比如图像比对、特征提取、图像识别等。图像去雾一直是计算机视觉、图像处理领域的热点。
现有的传统图像去雾方法中,he等[2]基于暗通道先验的去雾方法取得了广泛的应用,但其所使用的软抠图算法过于复杂,大大增加了计算量。虽然后续很多方法对其进行改进,取得了良好的去雾效果,但目前仍然存在如边缘突变区域去雾不彻底;当图像中出现大量白色区域时,恢复的图像效果不佳等。
技术实现要素:
本发明的目的是为了克服现有技术中的不足,针对传统的暗通道先验没有考虑图像中大量白色物体的影响,使得估算的透射率小于实际透射率,造成恢复的图像失真。本发明提出一种基于双通道先验和侧窗导向滤波的单幅图像去雾方法;基于双通道先验估计大气光值,并且提出了自适应阈值选取大气光值避免大量白色物体对恢复图像造成的影响。阈值选取采用了一个反馈机制,即利用原始有雾图像中最亮和最暗像素值做一个阈值自适应的选取,然后反馈到暗通道中对大气光值a的选取,可以有效避免图像中有大量白色物体的影响。在透射率优化时使用侧窗导向滤波代替导向滤波。实验结果表明,侧窗导向滤波具有更好的保持边缘特性。
本发明的目的是通过以下技术方案实现的:
一种基于双通道先验和侧窗导向滤波的单幅图像去雾方法,包括以下步骤:
(1)分别求取有雾图像的暗通道图像和亮通道图像,分别取两个图像灰度值最大的前0.1%的像素点;
(2)利用原有雾图像暗通道和亮通道图像中最亮像素值以及最暗像素值设计函数求取一个自适应阈值delta(0
(3)利用文献[6]提出的rgb立方体空间决策图像中像素的分布来求解大气光值a;
(4)根据暗通道先验求得透射率
(5)将侧窗滤波与导向滤波结合形成侧窗导向滤波,使用原有雾图像暗通道图做引导图像对求取出来的进行优化滤波得到
(6)根据大气散射模型,将大气光值a和透射率代入雾天图像成像模型的光学表达式中,得出最终的复原场景。
与现有技术相比,本发明的技术方案所带来的有益效果是:
1.目前在传统的去雾方法中,应用最广泛的就是暗通道先验,近年来基于暗通道先验做出的改进实验也非常广泛。但由于暗通道先验对有雾图像中白色物体估计不准确,本发明是基于暗通道和亮通道先验的求取准确的大气光的方法,并且为了防止图片过饱和,提出了自适应选取雾浓度的算法,使透射率的求解更具泛化性,可以适用于多种类型的有雾图片,使得在视觉上效果更为真实,色彩自然。
2.本发明方法可针对传统去雾方法中白色物体所带来的影响,对图像进行自适应阈值选取大气光值和雾浓度,可有效避免白色物体的影响,准确的求出大气光值,恢复更多的图像细节,在提高图像对比度的同时有效防止图像过饱和,具有更好的视觉特性。
附图说明
图1是大气散射模型原理示意图。
图2是rgb立方体空间决策图像示意图。
图3a至图3d为侧窗的连续定义和8个离散定义。
图4a至图4d分别为模糊原图像、采用he算法[2]去雾后的效果图、采用tarel算法[3]去雾后的效果图及采用本发明方法去雾后的效果图。
图5a至图5d分别为模糊原图像、采用he算法[2]去雾后的效果图、采用tarel算法[3]去雾后的效果图及采用本发明方法去雾后的效果图。
图6a至图6d分别为模糊原图像、采用he算法[2]去雾后的效果图、采用tarel算法[3]去雾后的效果图及采用本发明方法去雾后的效果图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
根据雾天环境下发生的散射现象,narasimhan等[1]提出了大气散射模型,该模型描述了大气散射现象,分析了雾天退化图像的形成过程,图1描述了大气散射模型的散射原理。
由此得到如下雾天图像成像模型的光学表达式:
i(x)=j(x)t(x)+a(1-t(x))(1)
暗通道先验
去雾模型如式(1)所示:
i(x)=j(x)t(x)+a(1-t(x))
x为像素点坐标,i(x)为观察到的有雾图像,j(x)为无雾图像,a是大气光值,t(x)为透射率,表示能够到达计算机系统的没有被散射掉的一部分光。去雾的目的是从无雾图像i(x)中恢复j(x),a和t(x)。
对于任意一幅输入图像,定义其暗通道的数学表达式为:
其中c表示rgb三通道中的某一通道。上式表示在一幅输入图像中,先取图像中每一个像素的三通道中的灰度值的最小值,得到一幅灰度图像,再在这幅灰度图像中,以每一个像素为中心取一定大小的矩形窗口ω(x),取矩形窗口中灰度值最小值y代替中心像素灰度值,从而得到输入图像的暗通道图像。暗通道图像为灰度图像,通过大量统计并观察发现,暗通道图像的灰度值是很低的,所以将整幅暗通道图像中所有像素的灰度值近似为0,即:
jdark(x)——→0(3)
透射率估计
假设大气光ac已知,对大气散射模型即式(1)作归一化处理:
假设在图像中一定大小的矩形窗口ω(x)内,传输函数t(x)的值为定值对式(4)两边用两次最小化算子作最小化运算
在无雾图像中,由于ac是确定的,根据暗通道先验可得j的暗通道为0,即:
由于ac总是正值,则有:
将式(7)带入(5),可得透射率的表达式:
为了在景深处保持一定的雾感,使图像看起来更真实自然,对式(8)引进一个恒定参数ω(0
透射率优化
由于暗通道中使用了最小滤波,因此式(9)得到的透射率含有halo效应和块状效应,为了解决这一问题,先后提出了soft-matting和导向滤波[4]的优化算法来优化透射率,值得注意的是,soft-matting算法可以很好地消除halo现象和块状现象,但其时间复杂度大大增加;导向滤波算法[4]时间复杂度较小,但其复原后的图像去雾不彻底,在边缘突变区域仍存在一定程度的雾。
大气光估计
对于一幅输入图像,取其暗通道图像灰度值最大的前0.1%的像素点对应于原输入图像的像素位置的每个通道的灰度值的平均值,从而计算出每个通道的大气光值,即大气光值a是一个三元素向量,每一个元素对应于每一个颜色通道。
当图像中出现大量白色区域时,暗通道先验对大气光值a的估计会产生偏差,使得恢复的图像效果不佳。故而本实施例提出了一种基于亮通道和暗通道相结合求取大气光值a的方法。
暗通道先验在无雾图像中趋近于0,从而可以利用去雾模型估计雾的透射率。类似地,亮通道先验[5]也具有常值化特点。首先定义亮通道图像为:
其中ibright(x)表示亮通道图像,其与暗通道运算相反,即对有雾图像做两次最大化运算。具体步骤如下:
步骤1:分别求取有雾图像的暗通道图像和亮通道图像,分别取两个图像灰度值最大的前0.1%的像素点。
步骤2:利用原有雾图像暗通道和亮通道图像中最亮像素值以及最暗像素值设计函数求取一个自适应阈值delta(0
其中,maxbright是整幅图像中最亮的像素点,minbright是整幅图像最暗的像素点,maxdark是暗通道图像最亮的像素点,mindark是暗通道图像最暗的像素点。
步骤3:利用文献[6]提出的决策图像中像素的分布来求解大气光值,决策图像如图2所示,决策值f(xi,j)计算如下:
其中,i、j是像素点坐标,r,g,b是(i,j)点三通道像素值,xi,j表示像素点与空间对角线[1,1,1]之间的距离,[1,1,1]代表的是白色像素点,以此作为测量标准,f(xi,j)表示该决策图像的决策值。
当f(xi,j)小于阈值delta时,像素很有可能是有干扰的白色物体,丢弃;当大于阈值delta时,认为是正常的像素点,保留。然后对保留下来的像素求取平均值,作为最后的大气光值a。
步骤4:根据暗通道先验求得透射率t(x),研究发现,式(11)中的ω=0.95并不适用于所有图像,由于去雾效果于ω关系较大,且不同雾度的图像应具有不同的ω值,通过实验发现ω的值与暗通道图像中的最大像素值的一半越接近,相应的取得的效果越好,因此本发明将ω值取为暗通道图像中的最大像素值的一半。则上式改进如下:
其中,maxvalue为暗通道图像中的最大像素值。
步骤5:he所提出的导向滤波复原后的图像去雾不彻底,在边缘突变区域仍存在一定程度的雾。故本发明结合文献[7]提出的侧窗滤波与导向滤波结合在一起,形成侧窗导向滤波,
使用原有雾图像暗通道图做引导图像对求取出来的进行优化滤波得到实验结果表明,侧窗导向滤波比普通的导向滤波更能够保持边缘,增强对比度。
侧窗滤波:现有用于滤波的局部窗口,几乎无一例外窗口的中心与正在处理的像素对齐。但这是导致许多滤波算法模糊边缘的基本原因之一。因此文献[7]提出了一种新的侧窗滤波(swf)技术,该技术将窗口的侧面或角落与正在处理的像素对齐。实验结果表明,swf可以显着提高其边缘保持能力。
swf技术:首先,在连续的情况下定义侧窗。侧窗的定义如图3a所示,参数为θ和r。θ是窗口和水平线之间的角度,r是窗口的半径,ρ∈{0,r},(x,y)是目标像素i的位置。通过改变θ和固定(x,y),我们可以改变窗口的方向,同时将其边与i对齐。简化计算,仅在离散情况下定义八个侧窗,如图3b~3d所示。
通过在每个侧窗中进行滤波,可以获得8个输出。保留边缘意味着最小化边缘处输入和输出之间的距离,即,滤波器输出应该与边缘处的输入相同或尽可能接近。因此,从8个输出中选择与输入强度具有最小l2距离的侧窗输出作为最终输出。
步骤6:根据大气散射模型,将大气光值a和透射率代入式(3)中,可得出最终的复原场景:
其中,t0值为0.1。
图4a至图6d是本发明算法与he[2]、tarel方法[3]之间的主观效果图对比。
由图4a至图6d可以看出,he算法[2]在处理天空区域时颜色易失真,而tarel算法[3]在处理图像时会出现颜色失真和过饱和。本发明方法相比he[2]和tarel方法[3]可有效提高图像亮度和对比度,防止颜色过饱和和失真,具有更好的视觉效果可视性。
为客观评价本发明方法,计算去雾后图像的峰值信噪比和结构相似性。如表1所示。由表1数据显示,本发明方法可有效提高有雾图像的峰值信噪比;由ssim结果可看出,本发明方法失真程度最小,去雾效果最为真实自然。
实验结果表明,本发明提出的算法可针对传统去雾方法中白色物体所带来的影响,对图像进行自适应阈值选取大气光值和雾浓度,恢复更多的图像细节,防止图像过饱和,具有更好的视觉特性。
表1客观指标比较结果
参考文献:
[1]narasimhansg,nayarsk.visionandtheatmosphere[j].internationaljournalofcomputervision,2002,48(3):233-254.
[2]hek,jians,tangx.singleimagehazeremovalusingdarkchannelprior[c]//ieeeconferenceoncomputervision&patternrecognition.2009.
[3]tareljp,hautièren.fastvisibilityrestorationfromasinglecolororgraylevelimage[c].ieeeinternationalconferenceoncomputervision,2010:2201-2208.
[4]hek,sunj,tangx.guidedimagefiltering[j].ieeetransactionsonpatternanalysisandmachineintelligence,2013,35(6):1397-1409.
[5]xuy,guox,wangh,etal.singleimagehazeremovalusinglightanddarkchannelprior[c]//ieee/cicinternationalconferenceoncommunicationsinchina.ieee,2016.
[6]wangj,luk,xuej,etal.singleimagedehazingbasedonthephysicalmodelandmsrcralgorithm[j].ieeetransactionsoncircuitsandsystemsforvideotechnology,2017,pp(99):1-1.
[7]yinh,gongy,qiug.sidewindowfiltering[j].2019.
本发明并不限于上文描述的实施方式。以上对具体实施方式的描述旨在描述和说明本发明的技术方案,上述的具体实施方式仅仅是示意性的,并不是限制性的。在不脱离本发明宗旨和权利要求所保护的范围情况下,本领域的普通技术人员在本发明的启示下还可做出很多形式的具体变换,这些均属于本发明的保护范围之内。
导向滤波算法 java_一种基于双通道先验和侧窗导向滤波的单幅图像去雾方法与流程...相关推荐
- 【论文阅读】改进的基于均值滤波的单幅图像去雾算法研究
改进的基于均值滤波的单幅图像去雾算法研究 吴延海,张婧,陈康 西安科技大学 学报, 2016 本文是在<基于单幅图像的快速去雾>基础上进行改进.主要改进有以下几点: 对<基于单幅图像 ...
- 基于暗通道优先的单幅图像去雾算法(Matlab)
基于暗通道优先的单幅图像去雾算法(Matlab) 每一幅图像的RGB三个颜色通道中,总有一个通道的灰度值很低,几乎趋向于0.基于这个几乎可以视作是定理的先验知识,作者提出暗通道先验的去雾算法. 首 ...
- 基于暗原色先验的单幅图像去雾——算法复现
基于暗原色先验的单幅图像去雾--算法复现 MOOC 数字图像处理的大作业学习 暗原色先验理论 暗原色先验是对无雾图像的统计规律,对无雾的图像的研究,发现在绝大多数户外无雾图像的任意局部小块中,总存在一 ...
- 小波变换去雾matlab代码,一种基于小波变换的图像去雾方法
一种基于小波变换的图像去雾方法 摘要:为获得雾天 关键词:小波变换;Mallat算法;单尺度Retinex;同态滤波 中图分类号:TN957.52文献标识码:A 文章编号:1009-3044(2020 ...
- Mysql出租车轨迹的分析_一种基于出租车轨迹数据的交通出行共现现象的可视化分析方法与流程...
本发明涉及交通数据可视化领域,尤其涉及一种基于出租车轨迹数据的交通出行共现现象的可视化分析方法. 背景技术: :城市中人类移动规律中的共现现象是指来自两个区域的人们在同一个时间段内访问同一个城市区域. ...
- Single Image Haze Removal Using Dark Channel Prior 基于暗原色先验的单一图像去雾方法【翻译】
Single Image Haze Removal Using Dark Channel Prior Kaiming He, Jian Sun, Xiaoou Tang The Chinese Uni ...
- 【计算机视觉课程设计】基于暗通道先验单幅图像去雾算法的实现(MATLAB)
声明:原创内容,创作不易,欢迎点赞收藏~ 摘 要 随着信息化时代的到来,计算机视觉得以迅速发展,在社会生活中的各个领域发挥了重要作用.然而,近年来大气污染逐渐加重,雾霾天气出现的频率越来越高,导 ...
- matlab 双边沿滤波,一种基于数字PWM发生器的左增长双边沿UPWM信号频谱估计方法与流程...
本发明涉及数字D类音频功放领域,尤其涉及一种由数字音频信号调制得到的左增长双边沿均匀采样脉冲宽度调制信号的频谱估计方法. 背景技术: 数字D类音频功放的电源效率相比A类.B类和AB类等线性音频功放较高 ...
- 基于暗通道先验的单幅图像去雾算法小结
在开始之前,先看一组去雾的效果图. 1. 关于去雾的意义及算法 去雾在视频监控.航拍.遥感.自动/辅助驾驶等需要在室外复杂.恶劣天气下运行的视觉系统,都可能需要运用到这一技术. 目前去雾算法主要有两个 ...
最新文章
- php经典100例,php趣味100例 - php天平称物
- 初学__Python——Python 变量的作用域
- cocos2d CCNode类(节点属性大全)
- 神经网络 | BP神经网络-数字识别(附源代码)
- golang 编写的在线redis 内存分析工具 rma4go
- T-SQL LIKE子句 模糊查询
- mongodb和SQL语句对应查找表
- Transformer开始往动态路由的方向前进了!厦大华为提出TRAR,在VQA、REC上性能SOTA!(ICCV 2021)...
- @程序员,你知道大厂是如何招聘到优秀项目经理的吗?
- Android开发之onCreate
- Java、python、数据分析精美简历模板
- 一文掌握Java基础知识点(思维导图)
- 麦森数 OpenJ_Bailian - 2706
- 互联网早报:腾讯推出“电子签平台” 用微信就能开出具备法律效力的电子收据
- MFC学习笔记--MFC创建窗口
- ANSI 9.8 , ANSI 9.9和ANSI X9.19
- 解决firefox火狐浏览器无法看支持html5视频又不想装flash的方法
- 锐捷交换机部署snooping+DAI功能
- Google admob/adsense 账户怎么填写w8纳税表/税务信息?
- 一篇文章带你读懂Python的魔法方法