-暗原色去雾霾处理c

合集下载

基于改进的暗原色先验图像去雾算法

基于改进的暗原色先验图像去雾算法

基于改进的暗原色先验图像去雾算法杨斌;林志贤;郭太良【摘要】针对在暗原色先验理论下天空区域的透射率预估过小以及大气光值求取受白色物体干扰的缺陷,提出一种改进的基于暗原色先验图像去雾算法.首先将归一化的亮度-饱和度差值图像与粗略透射率逐一比较,取最大值作为新的透射率;其次通过晕光算子操作获取大气光值描述区域,以获得正确的大气光值;最后根据大气散射模型复原图像.实验结果表明,与其他典型去雾算法相比,所提的算法处理时间较短,复原图像细节突出,色彩真实无失真.【期刊名称】《微型机与应用》【年(卷),期】2018(037)005【总页数】5页(P75-79)【关键词】亮度-饱和度差值;晕光算子;暗原色先验;去雾【作者】杨斌;林志贤;郭太良【作者单位】福州大学物理与信息工程学院,福建福州350100;福州大学物理与信息工程学院,福建福州350100;福州大学物理与信息工程学院,福建福州350100【正文语种】中文【中图分类】TP309.70 引言在雾霾天气情况下,视觉系统获取的图像会受到雾霾颗粒对可见光散射作用的影响,出现对比度小、细节模糊等退化现象,影响视觉系统正常工作。

因此复原雾天图像具有重大的必要性。

目前,图像的去雾算法主要有两个分支:基于图像增强和基于图像复原[1-2]。

其中基于图像增强去雾的本质是进行图像对比度的增强,但该类方法可能会损失图像信息,导致图像失真,其中以Retinex算法为代表[3-4]。

而基于图像复原的去雾方法,本质是构建雾天图像的物理模型,反推雾天图像退化过程来复原清晰图像。

这种方法复原的图像色彩自然真实,不易出现图像信息损失。

2008年,TAN R T[5]基于清晰图像比有雾降质图像具有更高的对比度这一前提,通过最大化图像的局部对比度来获得清晰图像,但该方法容易造成色彩过于饱和且容易失真的问题。

KIM J H[6]等人提出了构建包括对比度和信息丢失的成本函数,通过求解成本函数最小值来获得每个区域块最佳的传输率值,再结合雾天降质物理模型复原图像,该算法所复原的图像对比度高,信息损失小。

基于暗原色先验的图像去雾算法研究

基于暗原色先验的图像去雾算法研究

基于暗原色先验的图像去雾算法研究作者:兰军明来源:《软件导刊》2016年第04期摘要:受雾气环境影响,图像往往出现退化现象。

在基于暗原色先验原理的去雾算法中,大气光值的估计对去雾效果有着直接影响。

首先判断图像中是否包含天空区域,对含有天空的图像以像素点位置信息与其对应的亮度分量作为估计条件,求取大气光值。

实验结果表明,该方法针对不同场景进行去雾时,有较强的鲁棒性,能够获取更加准确的大气光值,从而有利于增强复原图像整体视觉效果。

关键词关键词:暗原色先验;大气光;去雾中图分类号:TP317.4 文献标识码:A 文章编号:1672-7800(2016)004-0188-020引言近年来,雾霾天气频繁,在雾霾环境中,各种成像设备的功能受到一定限制,如采集画面对比度低、彩色饱和度弱、图像信息失真严重等。

目前,对于图像去雾的研究主要集中在两个方面[1]:一是在图像本身的基础上对图像进行降噪处理,并不考虑图像所带有的景深等内部信息[2-3]。

此类方法简单、快速,但处理效果一般;二是在物理模型的基础上,对图像形成的过程进行模拟、建模。

然后将已知条件代入模型中,求得无雾图像[4-5]。

这类方法效果明显,结果更接近实际。

本文在暗原色理论的基础上建立模型,准确选取大气光值,获得更好的去雾效果。

1暗原色先验去雾算法1.1物理模型根据光在雾天环境下传输的物理特性,建立物理模型,本文使用McCarney大气散射模型[2]模拟雾天图像形成的过程:I(x)=J(x)t(x)+A(1-t(x))(1)其中,x表示某一个像素点,I(x)为有雾图像,J(x)为要复原的无雾图像,t(x)代表透射率,A是无穷远处的大气光值。

通过假设和先验知识可求得未知量t(x)、A,进而求解得到无雾图像J(x)。

1.2基于DCP的去雾算法He等[6]通过观察大量户外无雾图像发现,在绝大多数非天空区域,某些像素RGB三个通道中至少存在一个通道具有很低的光强度。

基于暗原色先验原理的偏振图像浓雾去除算法

基于暗原色先验原理的偏振图像浓雾去除算法

基于暗原色先验原理的偏振图像浓雾去除算法张晶晶;陈自红;张德祥;阎庆;寻丽娜;张卫国【期刊名称】《计算机应用》【年(卷),期】2015(035)012【摘要】在浓雾天气下,针对基于常规偏振特性去雾算法去雾效果不理想的特点,提出了一种基于暗原色先验原理的颜色空间转化算法去除偏振图像的浓雾.相比传统的成像技术,偏振图像探测技术在复杂环境下的目标探测和识别处理具有独特的优势,偏振图像通常采用强度图、偏振度图、偏振角图来表征目标的偏振信息.为了达到偏振信息与去雾模型相结合的目的,采用一种颜色空间转化的方法,首先把偏振信息转化到HIS颜色空间对应的亮度、色度、饱和度等各分量中,再把HIS颜色空间映射到RGB空间;其次,结合雾霾图像的大气散射模型用暗原色先验原理求图像的暗通道图;最后,在图像的稀疏先验基础上用softmatting算法细化修正大气传输率.实验结果表明,在能见度很低时,去雾后图像的标准差、信息熵、平均梯度等指标比现有的偏振去雾技术提高很多,该方法能有效增强浓雾天气下图像的整体对比度,提高偏振图像的目标识别能力.【总页数】5页(P3576-3580)【作者】张晶晶;陈自红;张德祥;阎庆;寻丽娜;张卫国【作者单位】安徽大学信息保障技术协同创新中心,合肥230601;安徽大学信息保障技术协同创新中心,合肥230601;安徽大学信息保障技术协同创新中心,合肥230601;安徽大学信息保障技术协同创新中心,合肥230601;安徽大学信息保障技术协同创新中心,合肥230601;安徽省偏振光成像探测技术重点实验室,合肥230031;安徽大学信息保障技术协同创新中心,合肥230601【正文语种】中文【中图分类】TP751【相关文献】1.基于暗原色先验与反图像的图像去雾算法 [J], 石磊;盖志刚2.一种基于热成像原理的图像热噪声去除算法 [J], 李孟;李俊山;张士杰;王丽3.基于暗原色先验改进的偏振图像复原方法研究 [J], 彭文竹;张禹;王钦;吴亚建4.基于HSI颜色空间与暗原色先验原理的单幅图像去雾算法 [J], 衷佩玮; 杨睿; 孙恺琦; 陈国强5.基于暗通道先验原理的偏振图像去雾增强算法研究 [J], 游江; 刘鹏祖; 容晓龙; 李斌; 徐韬祜因版权原因,仅展示原文概要,查看原文内容请购买。

基于暗原色先验图像去雾的改进算法

基于暗原色先验图像去雾的改进算法

基于暗原色先验图像去雾的改进算法李春江;禹素萍;许武军;范红【摘要】基于暗原色先验的方法去雾效果较好,但也存在处理效率不高、天空区域容易产生较为明显的失真等缺点.采用双边滤波与最大值滤波相结合的方法取代软抠图对透射率进行优化,通过判断大气光强度和暗通道差值绝对值大小来区分雾图中明亮区域与暗原色区域,并削弱明亮天空区域的去雾.实验表明,本文算法不仅有效降低了传统算法的时间复杂度,还达到了较好的视觉效果.【期刊名称】《微型机与应用》【年(卷),期】2017(036)016【总页数】3页(P53-55)【关键词】图像去雾;暗原色先验;双边滤波;处理速度【作者】李春江;禹素萍;许武军;范红【作者单位】东华大学信息科学与技术学院,上海201620;东华大学信息科学与技术学院,上海201620;东华大学数字化纺织服装技术教育部工程研究中心,上海201620;东华大学信息科学与技术学院,上海201620;东华大学数字化纺织服装技术教育部工程研究中心,上海201620;东华大学信息科学与技术学院,上海201620;东华大学数字化纺织服装技术教育部工程研究中心,上海201620【正文语种】中文【中图分类】TP309.7在雾霾的天气条件下,由于空气中大量悬浮粒子的存在,在户外拍摄的图像的质量严重下降。

因此,一种快速有效的去雾方法对提高户外视觉系统的稳定性来说意义重大。

目前的去雾方法可以分为两大类:图像增强[1]和图像复原[2]。

图像增强的方法不考虑图像质量退化的原因,通过改善图像对比度以达到改善雾图像视觉效果,但不能从根本上达到去雾的目的。

目前图像增强技术主要包括直方图均衡化、小波分析法、Retinex算法及同态滤波等。

而图像恢复方法则是首先分析图像在雾天的降质过程,建立图像退化模型,然后求解出无雾图像。

此类方法有基于偏微分方程的雾天图像复原、基于深度信息的雾天图像复原、基于先验的雾天图像复原等。

相比较而言,采用图像恢复方法得到的无雾图像更加自然清晰,通常不会丢失原图像信息,因此此类方法是图像去雾领域的热点技术。

-暗原色去雾霾处理c

-暗原色去雾霾处理c

北京航空航天大学数字图像处理–课程设计报告图像去雾霾111515班(11151201)2014.6.271.实现目标1、算法功能雾霾是特定气候条件与人类活动相互作用的结果。

高密度人口的经济及社会活动必然会排放大量细颗粒物,一旦排放超过大气循环能力和承载度,细颗粒物浓度将持续积聚,此时如果受静稳天气等影响,极易出现大范围雾霾。

2、技术指标去雾霾方式是推测每一个像素点的雾霾浓度,将其去除。

现实中给我们的印象是,在雾霾天气下,近距离的物体看得比较清,雾霾的浓度小;远距离的物体看不清,雾霾的浓度大。

可以说,雾霾图像=清晰图像+雾霾浓度。

因此,为了准确恢复清晰图像,我们必须估计图像中物体所处位置的雾霾浓度,这是高性能去雾霾技术的关键所在。

2.研究现状分析1、国内外研究现状目前,国内外对于图像去雾的方法主要分为两大类,一类是基于大气退化物理模型的方法, 即从物理成因的角度对大气散射作用进行建模分析,进而得到场景深度模型,实现场景复原,另一类是基于图像增强的方法[,也就是单纯从图像的角度考虑,无须借助其他设备或者参考图像等辅助信息,直接利用图像增强方法改善图像质量,达到降低雾影响的目的。

2、目前存在的问题第一类方法一般需要复杂的建模过程,有些甚至还需要额外的特殊设备,或者需要无雾的图像作为参考,实现过程比较困难。

3、算法描述基于暗原色先验的单幅图像去雾算法(使用opencv)首先求出每个像素RGB分量中的最小值,存入一副和原始图像大小相同的灰度图中,然后再对这幅灰度图进行最小值滤波,滤波的半径由窗口大小决定,一般有WindowSize = 2 * Radius + 1; .根据雾图成型模型,求出A,t(x)带入求出J即可。

暗原色先验是通过对户外无雾图像的观察得出的:在绝大多数非天空的局部区域里,某一些像素总会有至少一个颜色通道具有很低的值。

换言之,该区域光强度的最小值是个很小的数。

公式描述:J = ( I - A)/t + A其中I(X)就是我们现在已经有的图像(待去雾的图像),J(x)是我们要恢复的无雾的图像,A是全球大气光成分,t(x)为透射率。

一种基于暗原色先验的图像去雾算法[发明专利]

一种基于暗原色先验的图像去雾算法[发明专利]

专利名称:一种基于暗原色先验的图像去雾算法
专利类型:发明专利
发明人:林志贤,林珊玲,郭太良,叶芸,杨斌,单升起,钱明勇,曾素云
申请号:CN201711298831.1
申请日:20171208
公开号:CN107767354A
公开日:
20180306
专利内容由知识产权出版社提供
摘要:本发明公开了一种基于暗原色先验的图像去雾方法,其包括以下步骤:步骤1:求出有雾降质图像的暗原色图;步骤2:由暗原色图求出图像的粗略透射率;步骤3:采用改进的基于颜色衰减先验的容差机制透射率调整算法对天空等明亮区域透射率进行放大修正,得到修正后的透射率。

步骤4:采用引导滤波细化透射率;步骤5:结合晕光算子和暗原色图像获取大气光值;步骤6:利用大气散射模型得到复原图像J。

本发明设计的去雾算法能够有效地解决传统去雾算法存在的复原图像中天空等明亮区域产生色偏的问题,同时解决传统大气光值求取方法易受白色物体干扰的问题,提高图像质量。

申请人:福州大学
地址:350002 福建省福州市鼓楼区工业路523号
国籍:CN
代理机构:福州元创专利商标代理有限公司
更多信息请下载全文后查看。

结合金字塔技术的暗原色先验快速去雾方法

结合金字塔技术的暗原色先验快速去雾方法

结合金字塔技术的暗原色先验快速去雾方法张丽媛;杨华民;蒋振刚;苗语;张同舟【期刊名称】《长春理工大学学报(自然科学版)》【年(卷),期】2015(000)002【摘要】针对在雾霾天气下无人机航拍的视频图像对比度和色彩保真度差等问题,传统的暗原色先验方法虽然有较明显的去雾效果,但算法复杂度高、耗时长、无法满足实时性需求。

本文提出一种基于金字塔技术的快速去雾方法,首先利用高斯金字塔将原始有雾视频图像降采样,然后将降采样后的图像通过暗原色先验的方法去雾处理,最后再采用拉普拉斯金字塔将结果图升采样为无雾视频图像。

通过实验结果表明,本文方法在保证去雾效果的同时,提升了场景复原的速度。

针对航拍视频场景,能较好地满足实时性要求。

%In view of video images shot by drones having poor contrast and color fidelity under foggy and hazy weath-ers,traditional dark channel priority method has complex algorithm and is time-consuming,which can not meet the re-al-time requirement,althoughit has obvious fog removal effects. A fast defogging method based on Pyramid technolo-gy is proposed in this paper.Firstly, the original foggy image will be down-sampled by gaussian pyramid. Then, the sampled images are degogged with the dark channel priority method. Finally, the processed images are up-sampled to fogless video images with the laplacian pyramid. The experimental results show that the method can increase the scene recovery speed on the basis of good defogging effect. For aerial video scene, the method can meet the real-time re-quirement.【总页数】4页(P121-124)【作者】张丽媛;杨华民;蒋振刚;苗语;张同舟【作者单位】长春理工大学计算机科学与技术学院,长春 130022;长春理工大学计算机科学与技术学院,长春 130022;长春理工大学计算机科学与技术学院,长春 130022;长春理工大学计算机科学与技术学院,长春 130022;长春理工大学计算机科学与技术学院,长春 130022【正文语种】中文【中图分类】TN911.73【相关文献】1.改进的暗原色先验单幅图像快速去雾方法 [J], 何莉2.暗原色先验与NL-CTV模型相结合的图像去雾方法 [J], 赵胜楠;魏伟波;潘振宽;李帅3.基于改进暗原色先验模型的快速图像去雾方法 [J], 杜宏博;王丽会4.基于暗原色先验的单幅图像去雾方法的优化技术 [J], 周首峰;耿楠5.基于暗原色先验的一种快速图像去雾方法 [J], 刘锐因版权原因,仅展示原文概要,查看原文内容请购买。

基于雾天图像退化模型的自适应参数优化的去雾算法

基于雾天图像退化模型的自适应参数优化的去雾算法

基于雾天图像退化模型的自适应参数优化的去雾算法陈本豪; 高涛; 卢玮; 王翠翠; 李琨【期刊名称】《《科学技术与工程》》【年(卷),期】2019(019)021【总页数】9页(P219-227)【关键词】暗明原色先验; 灰度开运算; 环境光值; 图像去雾【作者】陈本豪; 高涛; 卢玮; 王翠翠; 李琨【作者单位】长安大学信息工程学院西安710072【正文语种】中文【中图分类】TP391.41雾霾是日常生活中常见的自然现象。

大气中由于水蒸汽和微尘颗粒的存在,每当温度骤降时,水蒸气凝结成小水珠与空气中的微尘颗粒相结合,便形成了雾霾。

雾霾之所以严重影响图像的清晰度主要原因是悬浮粒子对光线产生散射,以及景物反射的光线发生衰减。

使最终成像的图像的对比度降低,清晰度、饱和度下降和色调偏移[1,2];因此,雾天降质图片清晰化处理具有重要的意义[3]。

目前,针对图像去雾的方法,主要可以分为两大类:图像增强方法和图像复原方法[4],图像增强的典型方法如Retinex[5]、图像融合[6]和直方图均衡化[7]。

图像增强处理不考虑雾天图像退化的物理原因,通过突出图像中的某些细节信息,同时去除或者弱化一些不需要的信息,实现图像去雾。

这种方法能增强图像对比度,突出图像中景物的细节和有价值的信息;但是因为这种方法并没有研究雾霾对图片影响的物理原理,没有真正把雾气去除[8]。

第二类是基于物理模型的图像复原方法,这种方法研究了大气悬浮颗粒对光的散射作用,建立大气散射模型,了解图像降质的真正机理,对雾天图像进行建模研究,从根本上补偿因雾天而损失的图像细节信息。

利用图像复原的方法有其内在的优越性,已经成为图像去雾领域的研究热点。

典型的图像复原方法有如下几种:基于偏振特性的方法,基于深度信息的方法和基于先验知识的方法,这些方法都是以雾天图像退化模型为基础。

基于偏振特性方法对于浓雾图片去雾效果不够理想以及需要借助特定的仪器设备,对实验器材要求较高。

基于暗原色先验的图像快速去雾

基于暗原色先验的图像快速去雾
第 37卷第 2期 2020年 2月
计算机应用与软件 ComputerApplicationsandSoftware
Vol37 No.2 Feb.2020
基于暗原色先验的图像快速去雾
林椹1 张 发2 李小平1 赵 强2
1(西安邮电大学理学院 陕西 西安 710121) 2(西安邮电大学通信与信息工程学院 陕西 西安 710121)
IMAGEFASTDEHAZING BASEDONDARK CHANNELPRIOR
LinZhenxian1 ZhangFa2 LiXiaoping1 ZhaoQiang2
1(CollegeofScience,Xi’anUniversityofPostsandTelecommunications,Xi’an710121,Shaanxi,China) 2(CollegeofTelecommunicationsandInformationEngineering,Xi’anUniversityofPostsand Telecommunications,Xi’an710121,Shaanxi,China)
法已经取得了较大进展[3]。文献[9]通过最大化局部 对比度来实现图像去雾,但去雾后的图像容易出现色 彩过饱和与 光 晕 效 应。 文 献 [10]通 过 统 计 雾 天 图 像 的颜色信息 实 现 去 雾,但 对 浓 雾 图 像 恢 复 效 果 较 差。 文献[11]利用中值滤波估计大气耗散函数,但在场景 边缘处容易 出 现 光 晕 效 应。 文 献 [12]通 过 观 察 无 雾 图像的统计特征,提出一种基于暗原色先验的图像去 雾算法。其通过暗原色先验得到初始透射率,然后使 用软抠图或者引导滤波[13]对初始粗透射率进行细化, 最后根据大气散射模型复原图像,但该算法对包含天 空或其他白色物体的图像处理结果较差,且恢复图像 较暗。文献[14]提出容差的概念,通过容差调整亮白 区域的透射率,但该算法需要根据不同图像手动调整 容差大小,自适应性较弱。文献[15]通过阈值分割划 分出天空区域和非天空区域并分别进行去雾,但图像 分割过程较为耗时,使该算法效率较低。文献[16]通 过透射率权值因子融合暗原色先验与图像增强使得恢 复的图像视觉效果较好,但天空区域较大时易出现颜 色失真,鲁棒性较弱。文献[17]采用场景深度模型和 插值法估计透射率,从而有效提高算法效率,但图像去 雾的质量提升较小。

基于暗原色先验与Retinex理论的去雾算法

基于暗原色先验与Retinex理论的去雾算法

基于暗原色先验与Retinex理论的去雾算法
舒婷;邓波;陈炳权;刘耀峰
【期刊名称】《吉首大学学报(自然科学版)》
【年(卷),期】2014(035)002
【摘要】为提高雾霾图像的清晰化程度,采用暗原色先验方法与多尺度
Retinex(MSR)算法相结合的方式,提出基于暗原色先验与Retinex理论的去雾算法.首先,采用暗原色先验方法对协雾霾图像进行物理意叉上的去雾,雾霾图像细节得到增强;其次,将处理后的雾霾图像作为MSR算法的原始输入图像,雾霾图像对比度与平均亮度增大.仿真实验表明,该算法处理的雾霾图像对比度得到增大,图像平均亮度适中,总体效果较好,可在一定程度上提高雾霾图像的清晰度.
【总页数】5页(P52-56)
【作者】舒婷;邓波;陈炳权;刘耀峰
【作者单位】吉首大学物理与机电工程学院,湖南吉首416000;吉首大学物理与机电工程学院,湖南吉首416000;吉首大学物理与机电工程学院,湖南吉首416000;吉首大学物理与机电工程学院,湖南吉首416000
【正文语种】中文
【中图分类】TP391.41
【相关文献】
1.基于HSI颜色空间与暗原色先验原理的单幅图像去雾算法 [J], 衷佩玮; 杨睿; 孙恺琦; 陈国强
2.基于暗原色先验的图像去雾改进算法 [J], 严莉; 王玮; 刘荫; 殷齐林; 刘越
3.基于Retinex理论的图像去雾去噪算法 [J], 郑敏
4.基于Retinex理论的图像去雾去噪算法 [J], 郑敏
5.一种基于Retinex理论的改进图像去雾算法 [J], 王建国;李永全
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京航空航天大学数字图像处理–课程设计报告图像去雾霾111515班(11151201)2014.6.271.实现目标1、算法功能雾霾是特定气候条件与人类活动相互作用的结果。

高密度人口的经济及社会活动必然会排放大量细颗粒物,一旦排放超过大气循环能力和承载度,细颗粒物浓度将持续积聚,此时如果受静稳天气等影响,极易出现大范围雾霾。

2、技术指标去雾霾方式是推测每一个像素点的雾霾浓度,将其去除。

现实中给我们的印象是,在雾霾天气下,近距离的物体看得比较清,雾霾的浓度小;远距离的物体看不清,雾霾的浓度大。

可以说,雾霾图像=清晰图像+雾霾浓度。

因此,为了准确恢复清晰图像,我们必须估计图像中物体所处位置的雾霾浓度,这是高性能去雾霾技术的关键所在。

2.研究现状分析1、国内外研究现状目前,国内外对于图像去雾的方法主要分为两大类,一类是基于大气退化物理模型的方法, 即从物理成因的角度对大气散射作用进行建模分析,进而得到场景深度模型,实现场景复原,另一类是基于图像增强的方法[,也就是单纯从图像的角度考虑,无须借助其他设备或者参考图像等辅助信息,直接利用图像增强方法改善图像质量,达到降低雾影响的目的。

2、目前存在的问题第一类方法一般需要复杂的建模过程,有些甚至还需要额外的特殊设备,或者需要无雾的图像作为参考,实现过程比较困难。

3、算法描述基于暗原色先验的单幅图像去雾算法(使用opencv)首先求出每个像素RGB分量中的最小值,存入一副和原始图像大小相同的灰度图中,然后再对这幅灰度图进行最小值滤波,滤波的半径由窗口大小决定,一般有WindowSize = 2 * Radius + 1; .根据雾图成型模型,求出A,t(x)带入求出J即可。

暗原色先验是通过对户外无雾图像的观察得出的:在绝大多数非天空的局部区域里,某一些像素总会有至少一个颜色通道具有很低的值。

换言之,该区域光强度的最小值是个很小的数。

公式描述:J = ( I - A)/t + A其中I(X)就是我们现在已经有的图像(待去雾的图像),J(x)是我们要恢复的无雾的图像,A是全球大气光成分,t(x)为透射率。

各参数对去雾结果的影响第一:窗口的大小。

这个对结果来说是个关键的参数,窗口越大,其包含暗通道的概率越大,暗通道也就越黑。

我们不去从理论角度分析,从实践的效果来看,似乎窗口越大,去雾的效果越不明显。

我的建议是窗口大小在11-51之间,即半径在5-25之间。

式(12)中的ω具有着明显的意义,其值越小,去雾效果越不明显。

当投射图t 的值很小时,会导致J的值偏大,从而使淂图像整体向白场过度,因此一般可设置一阈值T0,当t值小于T0时,令t=T0,本文中所有效果图均以T0=0.1为标准计算。

上述推论中都是假设全球达气光A值时已知的,在实际中,我们可以借助于暗通道图来从有雾图像中获取该值。

具体步骤如下:1)从暗通道图中按照亮度的大小取前0.1%的像素。

2)在这些位置中,在原始有雾图像I中寻找对应的具有最高亮度的点的值,作为A值。

4、算法的实现主要算法://求暗原色ROI_rect.width=block;//rect.width获取或设置矩形的宽度ROI_rect.height=block;//高度;block 由滑动条给定ROI_rect.x=0;ROI_rect.y=0;int i;int j;double min1=0;double max1=0;double min2=0;double max2=0;double min3=0;double max3=0;double min=0;CvScalar value;//CvScalar一个可以用来存放4个double数值的数组;//一般用来存放像素值(不一定是灰度值)的,最多可以存放4个通道的 for(i=0;i<src->width/block;i++){ for(j=0;j<src->height/block;j++){//分别计算三个通道内ROI的最小值cvSetImageROI(dst1,ROI_rect);// cvSetImageROI基于给定的矩形设置图像的ROIcvCopy(dst1,imgroi1,NULL);//cvCopy 拷贝一个数组给另一个数组cvMinMaxLoc(imgroi1,&min1,&max1,NULL,NULL);cvSetImageROI(dst2,ROI_rect);cvCopy(dst2,imgroi2,NULL);cvMinMaxLoc(imgroi2,&min2,&max2,NULL,NULL);//cvMinMaxLoc 寻找数组中的最大最小值;cvSetImageROI(dst3,ROI_rect);cvCopy(dst3,imgroi3,NULL);cvMinMaxLoc(imgroi3,&min3,&max3,NULL,NULL);//求三个通道内最小值的最小值if(min1<min2)min=min1;elsemin=min2;if(min>min3)min=min3;//min为这个ROI中暗原色value=cvScalar(min,min,min,min);//min放在value中,三个就可以了。

//min赋予dark_channel中相应的ROIcvSetImageROI(dark_channel,ROI_rect);cvSet(roidark,value,NULL);cvCopy(roidark,dark_channel,NULL);//释放各个ROIcvResetImageROI(dst1);cvResetImageROI(dst2);cvResetImageROI(dst3);cvResetImageROI(dark_channel);//转入下一个ROIROI_rect.x=block*i;ROI_rect.y=block*j;}}//保存暗原色先验的图像cvSaveImage("G:/课件/大三下/数字图像处理/图像处理作业/处理结果/dark_channel_prior.jpg",dark_channel);//利用得到的暗原色先验dark_channel_prior.jpg求大气光强double min_dark;double max_dark;CvPoint min_loc;CvPoint max_loc;//max_loc是暗原色先验最亮一小块的原坐标cvMinMaxLoc(dark_channel,&min_dark,&max_dark,&min_loc,&max_loc,NULL); cout<<max_loc.x<<" "<<max_loc.y<<endl;ROI_rect.x=max_loc.x;ROI_rect.y=max_loc.y;double A_dst1;//定义大气光成分的估计值double dst1_min;double A_dst2;double dst2_min;double A_dst3;double dst3_min;cvSetImageROI(dst1,ROI_rect);//按照论文方法求大气光强估计值cvCopy(dst1,imgroi1,NULL);cvMinMaxLoc(imgroi1,&dst1_min,&A_dst1,NULL,NULL);//cvMinMaxLoc 寻找数组中的最大最小值;cvSetImageROI(dst2,ROI_rect);cvCopy(dst2,imgroi2,NULL);cvMinMaxLoc(imgroi2,&dst2_min,&A_dst2,NULL,NULL);//从暗通道图中按照亮度的大小取前0.1%的像素。

在这些位置中,在原始有雾图像I中寻找对应的具有最高亮度的点的值,作为A值。

cvSetImageROI(dst3,ROI_rect);cvCopy(dst3,imgroi3,NULL);cvMinMaxLoc(imgroi3,&dst3_min,&A_dst3,NULL,NULL);cout<<A_dst1<<" "<<A_dst2<<" "<<A_dst3<<endl;//这三值为大气光强度估计值//求透射率int k;int l;CvScalar m;CvScalar n;//暗原色先验各元素值for(k=0;k<src->height;k++){for(l=0;l<src->width;l++){m=cvGet2D(dark_channel,k,l);//获取dark_channel图像中坐标为(k,l)的像素点的值n=cvScalar(255-w*m.val[0]);//w目的是保留一部分的雾,使图像看起来真实些cvSet2D(toushelv,k,l,n);//透射率是针对窗口而言的}}cvSaveImage("G:/课件/大三下/数字图像处理/图像处理作业/处理结果/toushelv.jpg",toushelv);//求无雾图像int p,q;double tx;double jj1,jj2,jj3;CvScalar ix,jx;for(p=0;p<src->height;p++){for(q=0;q<src->width;q++){tx=cvGetReal2D(toushelv,p,q);//获得某个点的值tx=tx/255;if(tx<0.1)tx=0.1;//tx 的值很小时,会导致J的值偏大,从而使淂图像整体向白场过度,因此设置一阈值T0,当t值小于T0时,令t=T0.ix=cvGet2D(src,p,q);jj1=(ix.val[0]-A_dst1)/tx+A_dst1;//根据雾产生模型运算,还原出无雾图像jj2=(ix.val[1]-A_dst2)/tx+A_dst2;//typedef struct CvScalar{doubleval[4];}CvScalar;jj3=(ix.val[2]-A_dst3)/tx+A_dst3;jx=cvScalar(jj1,jj2,jj3,0.0);cvSet2D(dst,p,q,jx);// 给某个点赋值}}cvSaveImage("G:/课件/大三下/数字图像处理/图像处理作业/处理结果/removed_haze.jpg",dst);//保存图像//主函数如下void main(){//打开图像src=cvLoadImage("22.bmp",-1);//创造窗口cvNamedWindow("有雾图像",CV_WINDOW_AUTOSIZE);//cvNamedWindow该函数为开放计算机视觉(OpenCV)库库函数,用来创建指定的窗口cvShowImage("有雾图像",src);//开放计算机视觉(OpenCV)库库函数,用来在在指定窗口中显示图像cvNamedWindow("目的图像",CV_WINDOW_AUTOSIZE);cvCreateTrackbar(tbarname1, "目的图像", &block, 25, on_trackbar1);// 创建trackbar并将它添加到指定的窗口cvCreateTrackbar(tbarname2, "目的图像", &w1, 100, on_trackbar2);//由w取值范围可以确定w1最大值为100cvWaitKey(0);//cvWaitKey()函数的功能是不断刷新图像,频率时间为delay,单位为ms。

相关文档
最新文档