-暗原色去雾霾处理c报告.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
11151201  PAGE \* MERGEFORMAT13 北京航空航天大学 数字图像处理 –课程设计报告 图像去雾霾 111515班 2014.6.27 实现目标 1、算法功能 雾霾是特定气候条件与人类活动相互作用的结果。高密度人口的经济及社会活动必然会排放大量细颗粒物,一旦排放超过大气循环能力和承载度,细颗粒物浓度将持续积聚,此时如果受静稳天气等影响,极易出现大范围雾霾。 技术指标 去雾霾方式是推测每一个像素点的雾霾浓度,将其去除。现实中给我们的印象是,在雾霾天气下,近距离的物体看得比较清,雾霾的浓度小;远距离的物体看不清,雾霾的浓度大。可以说,雾霾图像=清晰图像+雾霾浓度。因此,为了准确恢复清晰图像,我们必须估计图像中物体所处位置的雾霾浓度,这是高性能去雾霾技术的关键所在。 研究现状分析 国内外研究现状 目前,国内外对于图像去雾的方法主要分为两大类,一类是基于大气退化物理模型的方法,?即从物理成因的角度对大气散射作用进行建模分析,进而得到场景深度模型,实现场景复原,另一类是基于图像增强的方法[,也就是单纯从图像的角度考虑,无须借助其他设备或者参考图像等辅助信息,直接利用图像增强方法改善图像质量,达到降低雾影响的目的。 目前存在的问题 第一类方法一般需要复杂的建模过程,有些甚至还需要额外的特殊设备,或者需要无雾的图像作为参考,实现过程比较困难。 算法描述 基于暗原色先验的单幅图像去雾算法(使用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值。 算法的实现 主要算法: //求暗原色 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;isrc-width/block;i++) { for(j=0;jsrc-height/block;j++) { //分别计算三个通道内ROI的最小值 cvSetImageROI(dst1,ROI_rect);// cvSetImageROI

文档评论(0)

四月 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档