图像的快速去雾

参考这个网站实现了去雾算法(http://blog.csdn.net/laviewpbt/article/details/14225413#comments一种可实时处理 O(1)复杂度图像去雾算法的实现。)。

个人整理了一下程序思路,处理图像实现去雾步骤如下:

  1. 求图像H(x)每个像素RGB通道的最小值,形成一个最小值图M(x)—— 第一次循环
  2. 求M(x)的均值滤波图Mf(x) ,同时计算 H(x)所有元素的最大值HMax 和 Mf(x)中的最大值MfMax—— 第二次循环
  3. 求L(x) = Min(r * Mf(x) , M(x)) —— 在第二次循环中计算
  4. 求A= (HMax + MfMax) * 0.5
  5. 求去雾之后的图像F(x) = A *(H(x) - L(x)) / (A - L(x)) ——第三次循环
整个处理要进行三次循环,很影响速度,如果可以人工设定A的值,那么第三次循环可以在第二次循环中进行,总共只需要做两次大循环。其中第2步求均值滤波图时,用5×5大小窗口即可得到较好的结果,保证细节不丢失。

你可能感兴趣的:(图像处理)