低亮度图片增强算法:基于去雾算法的低亮度图像增强算法

本文介绍一篇基于去雾算法的低亮度图片增强算法(FAST EFFICIENT ALGORITHM FOR ENHANCEMENT OF LOW LIGHTING VIDEO)。

该论文的作者观察到反转的低亮度图片(inverted image)具有与有雾图片类似的性质,比如:

  • 在反转的低亮度图中,天空和远景部分的RGB通道的像素值非常大
  • 在反转的低亮度图中,非天空区域中,在RGB通道中,至少有一个通道的像素值非常低。

以上两条性质是有雾图片特有的性质。
因此,我们可以运用成熟的去雾算法来进行低亮度图片的增强。

具体地做法如下:

  • hazy image的模型
    R(x)=J(x) t(x)+A(1-t(x))

其中,A是大气的亮度,R(x)是相机获取到的图像亮度,J(x)是原始图像或场景的亮度。

基于[1] , 我们可以得到:

t(x)=e^{-\beta d(x)}
其中 \beta 是大气的散射系数,d(x)是像素x的景深。

t(x)=1-\omega \min _{c \in\{r, g, b\}}\left(\min _{y \in \Omega(x)}\left(\frac{R^{c}(y)}{A^{c}}\right)\right)

其中\omega在算法中设置为0.8,\Omega(x)是中心位于x的一个小区域,在算法中设置为9。

为了获取大气的亮度,作者选取了图像中RGB通道中最小值里最大的100个像素,然后选取这些像素中RGB值相加最大的像素值最为A的估计值。

  • 计算J(x)

J(x)=\frac{R(x)-A}{t(x)}+A

这里需要注意,我们需要增强的区域是位于前景的物体,例如房子、车子等物体,同时需要避免过度增强背景区域,像天空等。

所以,这里我们需要根据图片内容的不同,自适应地调节t(x),从而重点增强前景的内容。因此,这里引入了一个中间变量:

P(x)=\left\{\begin{array}{ll}{2 t(x),} & {0<t(x)<0.5} \\ {1,} & {0.5<t(x)<1}\end{array}\right.

然后,需要恢复的图片J(x)可由下式计算得到:

J(x)=\frac{R(x)-A}{P(x) t(x)}+A

[]论文还介绍了如何加速视频的方法,由于不是该博客的研究重点,故而忽略,有兴趣的朋友可以查看原文。

低亮度条件下拍摄的图片
该算法增强后的效果_dong
  • 参考文献
    [1] Single Image Haze Removal Using Dark Channel Prior
    [2] Fast efficient algorithm for enhancement of low lighting video
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容