本博文参考和引用:https://www.cnblogs.com/herenzhiming/articles/5280759.html
介绍
图像增强与图像修复二者之间有一定交叉,尽管它们一个强调客观标准,一个强调主观标准,但毕竟最终的结果都改善了图像的质量。图像去雾就是这两种技术彼此交叉领域中最典型的代表。如果将雾霾看作是一种噪声,那么去除雾霾的标准显然是非常客观的,也就是要将图像恢复至没有雾霾下所获取的情况。但是如果将在雾霾环境下拍摄的照片就看作是一种图像本来的面貌,那么去雾显然就是人们为了改善主观视觉质量而对图像所进行的一种增强。早期图像去雾的研究并没有得到应有的重视,很多人认为它的实际意义不大,甚至觉得所谓的去雾算法多是些华而不实的花拳绣腿,缺乏学术上的价值。然而,斗转星移,时易世变。一方面随着大气污染的日益严重,设法改善自动获取的图像质量其意义不言而喻。另一方面,随着数码设备的普及,消费类电子产品的市场也催生出许多新的需求,其中人们对所拍照片质量的修正和优化就是一个显而易见的需求。说到图像去雾,就不得不提到由何恺明博士等人提出的基于暗通道的图像去雾算法。这个算法因其新颖的思路和理想的效果而广受关注,相关论文也曾于2009年荣获CVPR最佳论文奖,同时也是该奖设立以来,首次由亚洲学者获颁此殊荣。
暗通道的概念和意义





C++实现源代码
main.cpp:
#include
#include
#include
#include
#include"function.h"
#include
#include
#include
function.h
#ifndef FUNCTION_H
#define FUNCTION_H
#include
#include
#include
#include
#include
实现结果:

原图像

暗通道图像

t(x)图像

去雾之后的图像
从结果上来看,结果图像仍有一些边缘存在未去的雾,这里是因为t(x)在计算的时候比较粗糙,何凯明在2013年提出了一篇导向滤波可以很好的解决这个问题,关于导向滤波具体算法请参考:导向滤波算法解析
在function.h中已经实现导向滤波,主要针对tx,guidedfilter(Mat &srcImage, Mat &srcClone, int r, double eps)函数,实现结果如下所示:

导向滤波之后的tx

基于导向滤波后的去雾图像
相对于上述未进行导向滤波的结果图像,导向滤波后的结果效果有很大改善。