前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >图像处理-图像去雾

图像处理-图像去雾

作者头像
AomanHao
发布2022-01-14 08:12:31
3.3K0
发布2022-01-14 08:12:31
举报
文章被收录于专栏:ISP图像处理相关

图像处理-图像去雾

雾图模型

I(x)=J(x)t(x)+A(1-t(x))
代码语言:javascript
复制
I(x) ——待去雾的图像
J(x)——无雾图像
A——全球大气光成分
t——折射率(大气传递系数)

暗通道先验

在无雾图像中,每一个局部区域都很有可能会有阴影,或者是纯颜色的东西,又或者是黑色的东西。因此,每一个局部区域都很有可能有至少一个颜色通道会有很低的值。把这个统计规律叫做Dark Channel Prior。

实际生活中造成暗原色中低通道值主要有三个因素:a)汽车、建筑物和城市中玻璃窗户的阴影,或者是树叶、树与岩石等自然景观的投影;b)色彩鲜艳的物体或表面,在RGB的三个通道中有些通道的值很低(比如绿色的草地/树/植物,红色或黄色的花朵/叶子,或者蓝色的水面);c)颜色较暗的物体或者表面,例如灰暗色的树干和石头。总之,自然景物中到处都是阴影或者彩色,这些景物的图像的暗原色总是很灰暗的。

首先求出每个像素RGB分量中的最小值,存入一副和原始图像大小相同的灰度图中,然后再对这幅灰度图进行最小值滤波(邻域中取最小值)

验证了暗通道先验理论的普遍性

计算折射率

t(x)=1-wmin(minI(y)/A)

估计大气光

代码语言:javascript
复制
1.选取暗通道图像暗通道最亮的0.1%的像素(一般来说,这些像素表示雾浓度最大的地方)
2.取输入图像里面这些像素对应的像素里面最亮的作为大气光
(暗图像最亮的0.1%的像素对应的原图最亮的为大气光)

注:选中的像素未必是全图最亮的,而且要比选取全图最亮的方式鲁棒性更好。

去雾

J(x)=I(x)-A/max(t(x),t0) +A

t0=0.1

流程: 1.求图像暗通道

2.利用暗通道计算出折射率

3.利用暗通道估计大气光

4.代回雾图公式去雾

我的代码-图像去雾算法Matlab实现

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018 年 07 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 雾图模型
  • 暗通道先验
  • 计算折射率
  • 去雾
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档