机器视觉学习笔记(3)--如何去雾

来源:互联网 发布:源码交易系统 编辑:程序博客网 时间:2024/06/11 13:29

在去雾领域,基本以何凯明博士的《Single Image Haze Removal Using Dark Channel Prior》这篇文章为基础进行再研究,本文也基于该文进行讲述如何去雾。

在计算机视觉和计算机图像学中,雾模型用以下公式表示:

I(x)是有雾的图像,J(x)是无雾图像A是大气光成分t(x)为透视率

对于局部窗口,处理可得:

其中, c表示r,g,b通道的意思,y是窗口点,x是窗口中心点。

根据先验知识,暗通道可表示为:

由于Ac总是正的,因此可得:      

现实情况中,一些微少的雾存在是景深的基础,因此不能完全去雾。

w因子常取为0.95。

大气光成分A可以通过估计无透明的像素点获取,在暗通道提取亮度最高的0.1%的点,找到这些点对应的原有雾图点,求最高点作为A。

由此,我们可以通过式(1)恢复无雾图,应注意的是,当t(x)接近于0,所恢复的无雾点倾向于噪声,因此对t(x)限定最小值t0

按以上方法,大部分情况可以得到较好的结果,但由于透射率t(x)求解比较粗糙,图像某些块的恢复无雾情况效果差,为达到更好的效果,还需要求解精细的透射图。导向滤波求透射图流程如下所示:

图1:透射流程图

其中,I为导向图像,即粗略的透射图,p为输入滤波图像,q为输出图像。

测试去雾效果, 如下图所示:

2:有雾图

3:去雾图

欢迎转载机器视觉助手的文章,我们也希望能够让更多的对机器视觉感兴趣的人看到我们的文章,不过在转载之前请获得我们的授权或严格按照要求进行转载

0 0
原创粉丝点击