前几日有幸拜读了何教授的一篇文章《Single Image Haze Removal Using Dark Channel Prior》的文章,结合最近接收的工作就像将去雾算法增强DCM图像。
算法的基本思想并不复杂,详细的原理和推导大家可以参考大牛们的博客和何教授的论文原文。这里用几个公式概述算法的主题部分。
首先对于暗通道的求取:
Ω以x为中心的运算核,c是RGB三个通道。这个公式就是说求取运算核中所有通道的最小值,也就是对图像进行最小值滤波
估计折射率t:
w取值0.95,A是全局光值,我在程序中设定的是220(8bit)
得到折射率图像之后便是,由公式反推出原始的图像了:
t0典型的取值0.1
以上便是算法的大体流程,下面贴出我在运行时的结果。用作例子的图像是上篇博客里面读取出来的DCM图像数据
原始图像:
暗通道图像:
得到的预估折射率图像:
由预估的折射率得到的“原始图像”:
最后我贴出我调试用的工程和找到的一些资料希望对对各位看官有所帮助。
http://download.csdn.net/detail/m_buddy/9586934