起因
最近在做一个图像处理的算法,因为图像太暗,所以需要对图像的亮度进行增强(不考虑噪声的放大)。尝试了网上搜索到的各种方法后,发现它们存在两个问题:容易造成原本较亮的地方过曝,并且参数不好设置。尝试了一些暗光增强的paper的算法后,发现它们又太慢了。这时我想到曾经看过的一篇paper说过,有一种亮度增强的算法是基于去雾来做的,步骤很简单:
1. 将RGB图像取反(关于图像取反,请参考我的这篇博客OpenCV图像取反);
2. 对取反后的图像进行去雾;
3. 将去雾后的图像取反。
其背后的理念是:暗光图像取反后,原本接近黑色的像素就会变成接近白色,整张图像就会类似于有雾的图像。于是对这样的图像进行去雾后,白色的像素就变暗了,再反色后,像素就变亮了!没毛病!
快速去雾算法
说起去雾,恐怕大多数人的第一反应就是鼎鼎大名的何恺明博士的暗通道先验去雾算法。我的第一反应也是这个。但是在了解之后,我发现这种方法速度太慢了,难以应用到我的算法中。于是我开始搜索快速的去雾算法,很快找到了这篇论文《基于单幅图像的快速去雾算法》刘倩, 陈茂银, 周东华(这篇文章中也提到了暗通道先验去雾算法的速度太慢),速度很快,只有O(1)复杂度。
这篇论文我并没有仔细看,而是秉承“拿来主义”的精神,直接