Loading... 图像处理之天空区域识别 <!--more--> 近几年来,去雾方法得到广泛的研究,汤晓鸥等人发现无雾图像相对于雾化图像具有较高的对比度,通过最大化恢复图像的对比度来实现图像去雾,但由于该方法没有从物理模型上恢复真实的场景反射率,图像去雾后有可能出现颜色过饱和失真。 Kaiming He提出了一种基于暗通道先验的方法,即在有雾图像的特定窗中至少有一个颜色分量的值是零,该算法利用最小值滤波估算出介质传播函数,然后利用软抠图原理对估算的介质传播函数进行优化估计,达到了较好的去雾效果。软抠图需要较高计算量,很难得到实际应用。所以后来Kaiming He又提出了引导滤波法,来精细化透射率。 通过对比实验发现,场景中如果存在较大的天空区域的话,Kaiming He提出的暗通道先验的理论在天空区域将不成立,图像去雾后天空区域存在失真,特別是在天空区域不明显的浓雾环境下。 ## 一 为什么天空区域识别很重要? 人们常用传感器进行测距,在自主导航领域常见测距传感器有两类:第一类是主动式传感器,比如雷达,激光传感器,这类传感器比较精确,但缺点是比较贵;第二类是被动式传感器,比如视觉传感器。这类传感器成本较低,主要依赖于算法,但有些场景精度不好。但随着技术的发展,这些精度问题都可以得到解决。 ## 处理不同透射率区域 改进的基于暗原色先验的图像去雾算法 作者: 蒋建国 对一些含雾图像,基于暗原色先验的去雾结果出现色彩失真,因为含天空、水面等大面积明亮区域的图像,他们的像素值很大,在此区域找不到像素值接近于0的暗原色。 ![](https://img-blog.nos-eastchina1.126.net/blog/blog_天空K参数,纠正偏色.png) 一般情况下大气光A的取值和天空部分应该是非常接近的,而那些符合暗通道的地方则远离天空。 ## 识别出天空区域单独处理 专利《一种基于天空识别与分割的暗通道先验去雾方法》 ![](https://img-blog.nos-eastchina1.126.net/blog/blog_专利天空识别.png) ### 重点: 1、进行天空识别与分割,确定天空区域与非天空区域不同透射率。 2、引导滤波优化透射率,输出头屋图像 ### 相似操作识别天空区域 1、天空部分平坦区域多,处理成梯度图表示图像的像素落差,梯度值越小的区域表示为平坦区域。 2、设定一个阈值来初步划分天空区域与非天空。 3、对第二步的结果进行扩展处理。 4、对第三步的图的像素平均亮度进行判断,如果大于阈值T则认为是真天空区域。(阈值可以设置为0.8,灰度值为204左右均可),自我构思 该方案可以消除去雾图像边缘处的光晕现象,提高处理效率。 ## 分割天空区域 专利《一种含天空区域雾天图像的去雾方法、服务器及系统 》 ### 步骤 1、利用预设的亮度阈值 + 图像梯度信息,分割天空区域和非天空区域,梯度阈值选择概率最大的梯度,避免误分割; 2、利用四分法或者天空区域大气光值; 3、非天空区域加权图像融合的方法细化透射率; 4、图像去雾 --- 我们希望分为天空、似天空和非天空区域,三个区域采用不同的光透射率。 注:如果其他区域的像素满足以下两个条件认为是似天空区域: <1> 弱纹理区域 <2> 像素值和Strue区域的平均像素值 相差很小。 其他相关算法程序可以看看[我的github](https://github.com/AomanHao/Matlab-Image-Dehazing-Enhazing) 最后修改:2020 年 07 月 07 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏