Kaiming He, Jian Sun, Xiaoou Tang. Single Image Haze Removal Using Dark Channel Prior
大致内容是提出了一个叫做暗原色先验的东西来对有雾图像进行处理,十分巧妙,有兴趣者可以看看。这里使用OpenCV实现文中的去雾算法,然而论文提到的soft matting未在本程序中实现。
代码如下:
#include<iostream.h>
#include<cv.h>
#include<highgui.h>
char tbarname1[] = "调节block";
//定义两个滑动条,用于调节参数
char tbarname2[] = "调节w";
//w是为了保留一部分的雾
int block=5;
int w1=80;
double w;
IplImage *src=NULL;
IplImage *dst=NULL;
//定义去雾函数如下
IplImage *quw(IplImage *src,int block,double w)
{
//图像分别有三个颜色通道
//去雾算法运算后的三个通道
//去雾后的图像,三通道合并成
//源图像ROI位置以及大小
//分离的三个通道
//为各个ROI分配内存