暗通道先验的去雾算法实现

目前比较公认效果较好的去雾方法的编程实现,基本原理是参考何凯明的一篇会议论文,网上已经有比较成熟的代码了。这里也就是仿写一下,这里只写到求透射率的部分,导向滤波的部分写出来有些问题就没有贴出来,机子出了点问题,先mark下等剩下的部分改完了然后在一起整理吧。参考了很多博客这里贴出来:

Single Image Haze Removal(图像去雾)-CVPR’09 Best Paper
http://blog.csdn.net/abcjennifer/article/details/6662706

暗通道优先的图像去雾算法
http://blog.csdn.net/baimafujinji/article/details/30060161

高级图像去雾算法的快速实现
http://blog.csdn.net/huixingshao/article/details/42834939

基于暗通道优先算法的去雾应用
http://www.cnblogs.com/changkaizhao/p/3266798.html

void main()
{
    Mat src_img;
    src_img = imread("F:\\object\\vs\\fog.jpg");
    if (!src_img.data)
        cout << "读取图像错误";

    //完成暗通道的计算
    Mat dark_ch_mat;
    dark_ch_mat.create(src_img.rows, src_img.cols, CV_8U);
    uchar min;
    for (int i = 0; i < src_img.rows; i++)
        for (int j = 0; j < src_img.cols; j++)
        {
            min = src_img.at<cv::Vec3b>(i, j)[0];
            if (src_img.at<cv::Vec3b>(i, j)[1] < min)
                min = src_img.at<cv::Vec3b>(i, j)[1];
            if (src_img.at<cv::Vec3b>(i, j)[2] < min)
                min = src_img.at<cv::Vec3b>(i, j)[2];
            dark_ch_mat.at<uchar>(i, j) = min;
        }

    //对暗通道图像做最小滤波器滤波
    int masksize = 
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
暗通道先验去雾算法是一种基于图像的先验知识的去雾方法。该算法的核心思想是使用图像中的暗通道来估计场景中的全局大气光照和深度信息,进而实现去除雾霾的效果。 在使用该算法时,首先需要计算图像的暗通道暗通道是将彩色图像转换为灰度图像后得到的一张图像,具有表示场景中像素点的最小值的特性。通过计算暗通道,可以获取图像中大气光照分布的估计值。 然后,需要估计全局大气光照。全局大气光照是指在整个场景中所包含的雾霾气溶胶和散射分子的光照强度。通过暗通道图像中最亮的像素点,可以估计得到全局大气光照的强度。 接下来,需要估计场景深度。在暗通道先验去雾算法中,假设场景中的像素点在同一条直线上,则可以通过计算暗通道中最亮像素点的亮度值与全局大气光照之比得到深度的估计值。 最后,根据估计得到的全局大气光照和深度信息,可以对图像进行去雾处理。通过对图像进行去雾操作,可以降低雾霾的影响,提高图像的清晰度和对比度。 Opencv是一种开源的计算机视觉库,提供了丰富的图像处理和计算机视觉算法。利用Opencv可以方便地实现暗通道先验去雾算法,并对图像进行去雾处理。 总之,暗通道先验去雾算法是一种基于图像的先验知识,通过计算暗通道、估计全局大气光照和深度信息来实现去除雾霾的方法。而Opencv是一种图像处理库,可以用来实现算法并对图像进行去雾处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值