精华内容
下载资源
问答
  • 图像去雾的几种经典方法 有空间双边滤波去雾 暗通道去雾 引导滤波去雾 图像去雾质量评价标准等代码
  • 去雾算法总结

    千次阅读 2018-06-14 22:46:32
    之前搞个去雾算法,原理几乎全部忘记,这里再回忆一下参考链接是:https://blog.csdn.net/songhhll/article/details/12612681论文是 Single Image Haze Removal Using Dark Channel Prior论文的核心是提出了暗通道...

    之前搞个去雾算法,原理几乎全部忘记,这里再回忆一下

    参考链接是:

    https://blog.csdn.net/songhhll/article/details/12612681

    https://blog.csdn.net/kuweicai/article/details/78385871

    https://blog.csdn.net/baimafujinji/article/details/74750283

    论文是 Single Image Haze Removal Using Dark Channel Prior

    ----------------------------------暗通道理论------------------------------------

    论文的核心是提出了暗通道先验: 非天空的局部区域内,总有一些像素,至少一个颜色通道具有很低的值

    在绝大多数非天空的局部区域里,某一些像素总会有至少一个颜色通道具有很低的值。换言之,该区域光强度的最小值是个很小的数。

    暗通道的计算公式是。实际上是分两步计算

    (1): 首先求出图像中每个像素RGB分量中的最小值,得到结果图像,为灰度图像。

    (2): 然后是对灰度图像进行最小值滤波,滤波器的半径由窗口大小决定。一般有WindowSize = 2 * Radius + 1;

    公式(5)的最右边min是对3个通道取最小值,而左边的min是对图像的局部信息取最小值。

    ------------------------基于暗通道数据进行去雾的推导------------------------

    其中,I(X)就是我们现在已经有的图像(待去雾的图像),J(x)是我们要恢复的无雾的图像,A是全球大气光成分, t(x)为透射率。现在的已知条件就是I(X),要求目标值J(x),显然,这是个有无数解的方程,因此,就需要一些先验了。


    将式(1)稍作处理,变形为下式:

                                                        

        如上所述,上标C表示R/G/B三个通道的意思。

        首先假设在每一个窗口内透射率t(x)为常数,定义他为,并且A值已经给定,然后对式(7)两边求两次最小值运算,得到下式:

                                      

        上式中,J是待求的无雾的图像,根据前述的暗原色先验理论有:

                                                   

         因此,可推导出:

                                                             

        把式(10)带入式(8)中,得到:

                                                     

        这就是透射率的预估值。

        在现实生活中,即使是晴天白云,空气中也存在着一些颗粒,因此,看远处的物体还是能感觉到雾的影响,另外,雾的存在让人类感到景深的存在,因此,有

    必要在去雾的时候保留一定程度的雾,这可以通过在式(11)中引入一个在[0,1] 之间的因子,则式(11)修正为:

                                                   


    实际上是对原图用255(或者求出一个值)进行归一化,然后求暗通道图像,把这个暗通道图像当做t(x)来对待

    上面12示子是一个粗的图像,然后需要对这个t(x)进行精细化


    ------------------------对于透视率t(x)的精细化--------------------------------

    对t(x)精细化有两个方法,

    1: 解一个soft matting方程

    2: Guided filter, 对于guided filer是输入原图,和暗通道图,原图可以是灰度也可以是彩色,然后对暗通道图进行细化处理

    guided filter 输入的guided图像可以是原图,也可以是其他的图像,核心是在滤波的时候保持边缘信息,认为噪声是的梯度变换在各个方向上都有发生,而边缘的梯度变换只在一个方向上发生

    至于guided filter 详细信息略过


    展开全文
  • 经典去雾算法,去雾算法总结,matlab源码.zip
  • 基于何凯文博士的参考文献He K, Sun J, Tang X. Single image haze removal using dark channel prior[J]. IEEE CVPR, 2009.所写的基于暗通道先验的去雾算法matlab代码,内有代码,论文,及测试图片
  • 图像预处理:去雾算法总结

    千次阅读 2018-08-10 10:27:01
    图像去雾算法总结 何凯明暗通道去雾算法 去雾算法总结

    图像预处理:图像去雾算法总结

    去雾算法总结

    1、暗通道去雾算法

    何凯明暗通道去雾算法
    matlab源码实现像素逐个运行,比较耗时,可查找C++实现的代码。
    matlab源码和C++源码底部有下载链接

    1.1 单张图片去雾处理
    % 功能:去雾算法单张图片测试
    
    clc
    clear all
    I = imread('F:\\去雾算法\\2.jpg');
    [ J,tmap,tmap_ref ] = darkChannel( I,15,0.95);     % J 为处理后输出的图像
    
    1.2 图像批量去雾处理
    % 功能:读取指定文件夹下的所有图片,改变尺寸后去雾再保存。
     
    clc;
    clear;
     
    % PathName = '.\train\';                   %指定当前程序所在路径下的文件夹
    PathName = 'F:\input_img\';                %指定其他路径下的文件夹
    Num = dir([PathName,'*.jpg']);             %关联文件夹下某种类型的文件
     
    % if ~exist('newData','dir')               %若当前工作路径下不存在,则创建新文件夹newData
    % mkdir('newData')
    % end
    % paths=[pwd,'\newData'];                  %在当前路径下生成新的存储路径
    fprintf('处理ing,请稍等...\n');
    for i=1:length(Num)
        FileName = Num(i).name;
        trainImg = imread([PathName FileName]);
        newImg = imresize(trainImg,[416 416]);                         %统一尺寸
        % newImg = rgb2gray(newImg);%灰度化
        [ J,tmap,tmap_ref ] = darkChannel( newImg,15,0.95);
        newImg = J;
        %重命名
        newName = num2str(Num(i).name(1:end-4));                  %提取原图像文件名-不含格式
        fileName = strcat('F:\output_img\',newName,'.jpg');       %指定新的存储路径+文件名+格式
        imwrite(newImg,fileName);                   %保存图像
        
    %     figure;
    %     subplot(121);imshow(trainImg);
    %     subplot(122);imshow(newImg);
    %     close all;
    end
    fprintf('处理Over,请稍等...\n');
    
    

    2、基于SSR算法的图像去雾

    % 图像效果:去雾效果较好,颜色亮丽,但分辨率有所损失
    % 参考网址:https://blog.csdn.net/baimafujinji/article/details/73824787
    
    I = imread('canon.jpg');
    
    R = I(:, :, 1);
    [N1, M1] = size(R);
    R0 = double(R);
    Rlog = log(R0+1);
    Rfft2 = fft2(R0);
    
    sigma = 250;
    F = fspecial('gaussian', [N1,M1], sigma);
    Efft = fft2(double(F));
    
    DR0 = Rfft2.* Efft;
    DR = ifft2(DR0);
    
    DRlog = log(DR +1);
    Rr = Rlog - DRlog;
    EXPRr = exp(Rr);
    MIN = min(min(EXPRr));
    MAX = max(max(EXPRr));
    EXPRr = (EXPRr - MIN)/(MAX - MIN);
    EXPRr = adapthisteq(EXPRr);
    
    G = I(:, :, 2);
    
    G0 = double(G);
    Glog = log(G0+1);
    Gfft2 = fft2(G0);
    
    DG0 = Gfft2.* Efft;
    DG = ifft2(DG0);
    
    DGlog = log(DG +1);
    Gg = Glog - DGlog;
    EXPGg = exp(Gg);
    MIN = min(min(EXPGg));
    MAX = max(max(EXPGg));
    EXPGg = (EXPGg - MIN)/(MAX - MIN);
    EXPGg = adapthisteq(EXPGg);
    
    B = I(:, :, 3);
    
    B0 = double(B);
    Blog = log(B0+1);
    Bfft2 = fft2(B0);
    
    DB0 = Bfft2.* Efft;
    DB = ifft2(DB0);
    
    DBlog = log(DB+1);
    Bb = Blog - DBlog;
    EXPBb = exp(Bb);
    MIN = min(min(EXPBb));
    MAX = max(max(EXPBb));
    EXPBb = (EXPBb - MIN)/(MAX - MIN);
    EXPBb = adapthisteq(EXPBb);
    
    result = cat(3, EXPRr, EXPGg, EXPBb);
    subplot(121), imshow(I);
    subplot(122), imshow(result);
    

    3、基于单幅图像的快速去雾算法

    % 去雾效果:图像偏绿
    % 参考链接:https://blog.csdn.net/wanglongfei_hust/article/details/19190307
    
    % 基于单幅图像的快速去雾算法
    fileName = 'D:\\image\\haze image\\He\\canon3.bmp';
     
    % step1: 输入:有雾图像H(x)
    H = imread(fileName);
    H = double(H) / 255.0;
    imtool(H);
    [h, w] = size(H);
    sv = ceil(max(h, w) / 50);
    if mod(sv, 2) == 0
        sv = sv + 1;
    end
     
    % step2: 求取H(x)三通道的最小值M(x)
    M = min(H, [], 3);
     
    % step3: 对M(x)进行均值滤波,得到Mave(x)
     
    f = fspecial('average', sv);
    Mave = imfilter(M, f, 'symmetric');   
     
    % step4: 求取M(x)中所有元素的均值Mav
    [h, w] = size(Mave);
    n = 0.0;
    for i=1:h
        for j=1:w
            n = n + Mave(i, j);  
        end
    end
    Mav = n / (h * w);
     
    % step5: 利用Mave(x)求出L(x)
    e = 2.0;    % e是一个用来调节的参数,当e值越大时,去雾后的图像就越暗,去雾效果就越明显,e值越小时,图像偏白,有明显的雾气。
    L = min(min(e*Mav, 0.9)*Mave, M);
     
     
    % step6: 利用Mave(x)和H(x),求出A
    temp = max(H, [], 3);
    A = 0.5 * (max(temp(:)) + max(Mave(:))) * [1; 1; 1];
     
    % step7: 去雾后图像F(x)
    [h, w, c] = size(H);
    F = zeros(h, w, c);
    for i=1:h
        for j=1:w
            for k=1:c
                F(i,j,k) = (H(i,j,k) - L(i,j)) / (1 - L(i,j)/A(k));
            end
        end
    end
     
    imtool(F);
    
    
    展开全文
  • 大气消光系数去雾算法总结,承接上一篇传的去雾算法每个人理解总结,然后还要之前本人写的代码,也在资源里面,非暗通道处理的去雾代码
  • 该文件包含了2017年到2018年的去雾算法汇总,欢迎下载学习~~
  • 图像去雾算法

    万次阅读 2021-02-17 11:18:11
    一、定义 因为雾霾的影响,在雾天条件下拍摄到的图像导致图像可能会存在细节丢失、对比度低的情况,将会影响图像后续的分析识别工作。在雾天情况下,空气中存在大量的 悬浮颗粒物,会对...目前图像去雾算法主要包括

    目录

     

    一、定义

    二、基于图像增强的去雾算法

    三、基于图像复原的去雾算法

    四、基于 CNN 的去雾算法

    五、总结

    六、未来发展方向


    一、定义

    因为雾霾的影响,在雾天条件下拍摄到的图像导致图像可能会存在细节丢失、对比度低的情况,将会影响图像后续的分析识别工作。在雾天情况下,空气中存在大量的 悬浮颗粒物,会对光线产

    生散射,导致物体反射出 的光线发生衰减,同时反射光与观察者直接接受到光线发生混合,造成观察者获取到的图像的对比 度和清晰度等特征都发生改变,细节信息大量丢失。图像去雾是以满

    足特定条件下应用需求为目的,通过对有雾图像进行分析和预处理,突出图像中的细节信息使之更加适合人机识别的一种图像预处理方法。

    目前图像去雾算法主要包括基于图像增强、图像复原以及卷积神经网络。

    二、基于图像增强的去雾算法

    通过图像增强 技术突出图像细节,提升对比度,使之看起来更加 清晰,这类算法的适用性较广。

    具体的算法有: Retinex 算法、直方图均衡化算法、偏微分方程算法、 小波变换算法等。

    Retinex 算法根据成像原理,消 除了反射分量的影响,达到了图像增强去雾的效 果;

    直方图均衡化算法使图像的像素分布更加均 匀,放大了图像的细节;

    偏微分方程算法则是将图 像视作一个偏微分方程,通过计算梯度场提高对比 度;

    小波变换算法对图像进行分解,放大有用的部 分。

    三、基于图像复原的去雾算法

    主要是基于大 气散射物理学模型,通过对大量有雾图像和无雾图 像进行观察总结,得到其中存在的一些映射关系, 然后根据有雾图像的形成过程来进行逆运算,从而 恢复清晰图像。

    其中最经典的是暗通道先验去雾算法,通过对大量无雾图像进行特征分析,找到了无雾图像与大气散射模型中某些 参数的先验关系。

    该算法复杂度低,去雾效果好。

    四、基于 CNN 的去雾算法

    使用 CNN 建立一 个端到端的模型,通过有雾图像恢复出无雾图像, 目前使用神经网络进行去雾的算法主要有 2 种思 路:

    使用 CNN 生成大气散射模型的某些参数,然后 再根据大气散射模型来恢复无雾图像,

    或者使 用 CNN (例如 GAN)直接根据模糊图像生成无雾的 清晰图像。

    五、总结

    基 于图像增强的方法不考虑有雾图像的形成过程, 而是直接通过突出图像的细节,提高对比度等方 式,从而使有雾图像看上去更加清晰。

    基于图像 复原的方法则是追寻图像降质的物理过程,通过 物理模型还原出清晰的图像。

    基于 CNN 的方法 则是利用神经网络强大的学习能力,寻找有雾图 像与图像复原物理模型中某些系数的映射关系或 者使用 GAN,根据有雾图像还原出无雾的清晰图像。

    六、未来发展方向

    (1) 更加真实的雾天图像数据集

    采用神经网 络进行去雾的算法在效果上好于图像增强和复原 的方法,但是由于在自然界中很难拍摄到一组背 景相同的有雾图像和无雾图像,因此目前训练神 经网络所采用的数据集均是通过合成得到的,虽 然能够在一定程度上拟合自然环境,但是仍然存 在着一些差距。所以目前急需一种由在真实环境 中获取到的具有相同背景的有雾图像和无雾图像 构建的数据集,来提高神经网络去雾算法的鲁棒 性和稳定性。

    (2) 更加简便的去雾算法。

    目前各类算法能够 有效去除单幅图像上的雾霾,但相对较好的算法都 存在着时间复杂度高的问题,很难应用到视频去雾 或者需求较多的复杂任务中去。

    (3) 鲁棒性更强的去雾算法。

    现有算法都只对 图像上存在的均匀的薄雾有较好的去雾效果,对于 浓雾或者分布不均的团雾则效果较差,因此找到一 种适用范围更广的去雾方法将会是未来发展方向。

    七、代码

    matlab版本:https://github.com/lvxiaojie111/Haze_Removal_for_Image_Preprocessing

    python版本:https://github.com/lvxiaojie111/haze

     

    展开全文
  • 图像去雾算法剖析.ppt

    2020-07-11 05:11:23
    西农林科大学 NORTHWEST A&F UNIVER SIT 毕业设计终期答辩 (图像去雾算法分析 西农林科大学 目录 NORTHWEST A&F UNIVER SIT 研究意义 研究思路 研究目标 研究过程 匚研究结果 A. 研究总结 西农林科大学 NORTHWEST A&...
  • 图像去雾算法学习笔记1 本人现在是国内某211大学博士研究生,刚入学1个多月,把深度学习和图像处理做为自己的研究方向,从图像去雾算法开始看起。 说到图像去雾算法,不得不提大牛何凯明博士,圈内都知道他的: ...

    图像去雾算法学习笔记1——何凯明博士基于暗通道先验的单幅图像去雾算法公式推导

    首先简单自我介绍一下,本人现在是国内某211大学2019级博士研究生,计算机科学与技术专业,研究方向和兴趣包括深度学习(CV)、图像处理、菌群仿生优化算法、元胞自动机等,愿与大家分享自己的学习心得!现刚入学1个多月,先从图像去雾算法开始学起。
      说到图像去雾算法,不得不提大牛何凯明博士,圈内都知道他的:
    何凯明博士,本科毕业于清华大学基础科学班。他是2006年微软小学者奖学金获得者之一,同时也是2003年广东省高考状元。2007年清华大学毕业之后开始在微软亚洲研究院(MSRA)实习,2011年香港中文大学博士毕业后正式加入MSRA,目前在Facebook AI Research (FAIR)实验室担任研究科学家。曾以第一作者身份拿过两次CVPR最佳论文奖Best Paper Award (2009和2016)——其中2016年CVPR最佳论文为图像识别中的深度残差学习(Deep Residual Learning for Image Recognition)。
         我现在看的是他2009年的CVPR论文:《Single Image Haze Removal Using Dark Channel Prior》在中国知网、百度学术上都有下载的。CVPR的中文名是计算机视觉与模式识别会议,是计算机视觉领域最顶尖的国际会议之一。2009年的CVPR共收到约1450篇投稿,其中393篇文章被接收,接收率为26%。只有一篇文章被选为那年的最佳论文。这是CVPR创立25年以来首次由中国人获得这个奖项。这篇文章是他在微软亚洲研究院形象计算组实习的时候完成的,也是他个人真正意义上写的第一篇论文。
    他根据Dark Object Subtraction原理通过大量实验发现局部找最暗点进行均匀去雾有很好的效果。
       由此得到对于一个无雾图像,每个局部区域都很有可能有一些暗的地方,换言之,至少一个颜色通道会有很低的值、或黑色东西。
    看了他的论文,准备写点笔记,这是我的第一篇笔记。


    一、简单有效的图像去雾技术

        这篇论文研究的问题是图像的去雾技术,它可以还原图像的颜色和能见度,同时也能利用雾的浓度来估计物体的距离,这些在计算机视觉上都有重要应用(例如三维重建,物体识别)。但是之前人们还没找到简单有效的方法来达到这个目的。在这篇论文里,他们找到了一个非常简单的,甚至说令人惊讶统计规律,并提出了有效的去雾方法。

       与之前的方法不同,他们把注意力放到了无雾图像的统计特征上。他们发现,在无雾图像中,每一个局部区域都很有可能会有阴影,或者是纯颜色的东西,又或者是黑色的东西。因此,每一个局部区域都很有可能有至少一个颜色通道会有很低的值。他们把这个统计规律叫做Dark Channel Prior(暗通道先验或暗原色先验)。直观来说,Dark Channel Prior认为每一个局部区域都总有一些很暗的东西。这个规律很简单,但在他们研究的去雾问题上却是本质的基本规律。

         由于雾总是灰白色的,因此一旦图像受到雾的影响,那么这些本来应该很暗的东西就会变得灰白。不仅如此,根据物理上雾的形成公式,他们还能根据这些东西的灰白程度来判断雾的浓度。因此,他们提出的Dark Channel Prior能很有效地去除雾的影响,同时利用物的浓度来估算物体的距离(深度)。

         简单理解:仔细想想我们可以确定有这样一个统计规律:对于大多数没有雾的图像来说,它的任意一个像素点中的R,G,B值至少有一个是非常低的;(这个挺好理解的,如果R,G,B值都偏高,那么该像素显然有向白色过度的趋势)把每个像素中“偏暗”的值(通道)以一定的方式集合起来就构成了一幅图片的暗通道图;正式基于这样的一个想法和统计的规律(可以把这个统计规律当作一条定理),何博士提出了去雾的算法,该算法在大量的户外有雾图片的应用中得以验证其准确性;并且在去雾的过程中,他们也同时得到了原图的景深图片,因为雾的厚度一定程度上代表了景深。

    为了验证上述提到的统计规律,何博士对5000张无雾图的暗通道的强度进行了统计,可以发现暗通道图中大部分像素都是0,而且全部像素都集中于0-50之间,可以说暗通道图是稀疏的,这一点对于我们下边的公式推导至关重要

    在这里插入图片描述


    二、相关背景和公式
        看了何凯明博士的这篇论文,以及我近期看的其他论文,我总结了图像去雾的三种方法:
    1、图像增强技术。常用于雾天图像清晰化处理的图像增强方法,包括直方图均衡、对数变换、幂律变换、锐化、小波变换等,这些都是图像处理中常用来提高对比度或者突出图像特征的方法。但严格的说,这一类方法并不研究雾气对图像影响的原理,并非去除图像中的雾,而是应用图像增强方法,对图像作清晰化处理。
    2、基于物理模型的图像去雾算法对图像进行复原。图像复原通过分析雾图降质机理,建立图像散射模型(即建立方程),充分利用图像退化的先验知识或假设,实现场景复原(即求解方程)。说到这里,就不得不提经典的描述有雾图像的散射模型:
    在这里插入图片描述
    其中t(x)可以表示为:
    在这里插入图片描述
    0<=t(x)<=1
    这个模型也是何凯明博士的这篇论文中用到的。
    3、还有就是基于最近几年火爆的深度学习方法。如利用随机森林学习回归模型估计透射率的值,利用卷积神经网络构造端到端的去雾网络等。这个是我下一步的研究方向啊。

    三、我目前学习的主要方法:基于物理模型的去雾算法复原图像
          对于上面的描述有雾图像的散射模型,其中x为像素空间坐标,I(x)为观测的强度,也就是理解为实际拍摄的有雾图像,J(x)为场景辐射,也就是理解为清晰无雾的图像(就是我们要复原的清晰图像),t是介质传输率,描述的是未被大气颗粒物(雾、霾等悬浮颗粒)散射而到达照相机的那部分光,A是全局大气光,也就是整体大气光值,可以理解为就是太阳光。J(x)t(x)称为直接衰减项,描述了场景辐射照度在介质中的衰减,它随场景深度呈指数性衰减,A(1-t(x))称为大气光幕,用来描述场景成像中加入的大气散射光,这个部分是太阳光经过微粒散射之后参与到成像光路中的部分,它造成了场景的模糊和颜色的失真。这个模型我们要做到的去雾就是从实际拍摄得到的I(x)去求解出J(x)、A和t。 很明显,如果对于一个含N个像素的彩色图片,每个像素有3个通道(RGB)值,那一共就有3N个方程式,但是未知量包括3N个J(x)、N个t(x)、3个A值,一共是4N+3个未知量,用3N个方程解4N+3个未知量,明显就是个“病态方程”。但目前的研究都不是精确的求解,因为这是一个多未知数的“病态方程”,我们只能去估计参数A和t(x),最关键的就是估计介质传输率t(x),然后从I(x)中恢复J(x).
            下面对这个散射模型两边对x求梯度(偏导)得到:
    在这里插入图片描述
             这里面是对一个色块(patch)求的,其中假设t是均匀的,所以t和x无关,就直接作为系数提出来,然后A(1-t(x))与x无关就变成了0,又当t<1时,所以得到了上式。原文的描述: For a patch with uniform transmission t, the visibility (sum of gradient) of the input image is reduced by the haze since t<1。The transmission t in a local patch is estimated by maximizing the visibility of the patch under a constraint that the intensity of J(x) is less than the intensity of A.
    四、何凯明博士这篇论文的核心思想——暗通道先验
        首先看看暗通道先验是什么:
        在绝大多数非天空的无雾图像的局部区域里,某一些像素总会有至少一个颜色通道具有很低的值。换言之,该区域光强度的最小值是个很小的数。我们给暗通道一个数学定义,对于任意的输入图像J,其暗通道可以用下式表达:
    在这里插入图片描述
    式中 J c J^c Jc表示彩色图像的每个通道 ,Ω(x)表示以像素X为中心的一个窗口,代表像素点X周围的小区域即滤波器。等式左边即为暗通道图,等式右边:C代表R,G,B中的某一通道,x代表图中某一像素点; 这个公式的意义用代码表达也很简单,首先求出每个像素RGB分量中的最小值,存入一副和原始图像大小相同的灰度图中,然后再对这幅灰度图进行最小值滤波(下一篇博文我将介绍滤波的原理),滤波的半径由窗口大小决定,一般有WindowSize = 2 * Radius + 1;
    这个公式的意思可以这样理解:首先取原图每一个像素点中最小的通道值,这样就可以得到一副灰色的图了,然后对这个灰色的图进行最小值滤波(滤波窗口代表了Ω(X))就得到了暗通道图。

         暗通道先验的理论指出:
    在这里插入图片描述
         实际生活中造成暗通道中低通道值主要有三个因素:a)阴影等。汽车、建筑物和城市中玻璃窗户的阴影,或者是树叶、树与岩石等自然景观的投影;b)色彩鲜艳的物体或表面等,在RGB的三个通道中有些通道的值很低(比如绿色的草地/树/植物,红色或黄色的花朵/叶子,或者蓝色的水面);c)颜色较暗的物体或者表面,例如灰暗色的树干和石头。总之,自然景物中到处都是阴影或者彩色,这些景物的图像的暗原色总是很灰暗的。原文的表述:The low intensity in the dark channel is mainly due to three factors: a) shadows, e.g., the shadows of cars, buildings, and the inside of windows in cityscape images, or the shadows of leaves, trees, and rocks in landscape images; b) colorful objects or surfaces, e.g., any object with low reflectance in any color channel (for example, green grass/tree/plant, red or yellow flower/leaf, and blue water surface) will result in low values in the dark channel; c) dark objects or surfaces, e.g., dark tree trunks and stones. As the natural outdoor images are usually colorful and full of shadows, the dark channels of these images are really dark!
    论文中列举的暗通道图:
         作者随机选取了5000张无雾图片,并手工切除了天空区域,重新调整图像大小,使得最大宽度和高度像素为500像素,并使用1515的色块大小去计算暗通道。
         原文描述:Among them, we randomly select 5,000 images and manually cut out the sky regions. The images are resized so that the maximum of width and height is 500 pixels and their dark channels are computed using a patch size 15
    15. Fig. 4 shows several outdoor images and the corresponding dark channels.
    在这里插入图片描述
         由上述几幅图像,可以明显的看到暗通道先验理论的普遍性。在作者的论文中,统计了5000多副图像的特征,也都基本符合这个先验,因此,我们可以认为这其实时一条定理,但是基于统计得出的结论。 有了这个先验,接着就需要进行一些数学方面的推导来最终解决问题。
    五、用这个暗通道先验解上面那个“病态方程”
    重新拿出这个要求解的病态方程-大气散射模型:
    在这里插入图片描述
    稍作变形(归一化):
    在这里插入图片描述
    上标C表示R/G/B三个通道的意思。
         首先假设在每一个窗口内透射率t(x)为常数,定义他为 t ~ ( x ) \tilde{t}(x) t~(x) ,并且A值已经给定,然后对上式两边求两次最小值运算(用的是最小值滤波),得到下式:
    在这里插入图片描述

    上式中,J是待求的无雾的图像,根据前述的暗通道先验理论有:
    在这里插入图片描述
    因此,可推导出:
    在这里插入图片描述
    把这个公式带入到上面的最小值滤波后的公式得到:

    在这里插入图片描述
    这就是透射率t的预估值。
         在现实生活中,即使是晴天白云,空气中也存在着一些颗粒,因此,看远处的物体还是能感觉到雾的影响,另外,雾的存在让人类感到景深的存在,因此,有必要在去雾的时候保留一定程度的雾,这可以通过在式(11)中引入一个在[0,1] 之间的因子,则上面的公式修正为:
    在这里插入图片描述
    该论文中所有的测试结果依赖于: ω=0.95。

         上述推论中都是假设全球达气光A值时已知的,在实际中,我们可以借助于暗通道图来从有雾图像中获取该值。具体步骤如下:
    1) 从暗通道图中按照亮度的大小取前0.1%的像素。

    2) 在这些位置中,在原始有雾图像I中寻找对应的具有最高亮度的点的值,作为A值。 到这一步,我们就可以进行无雾图像的恢复了。大气散射模型公式可知: J = ( I - A)/t + A
    现在I,A,t都已经求得了,因此,完全可以进行J的计算。
    当投射图t 的值很小时,会导致J的值偏大,从而使淂图像整体向白场过度,因此一般可设置一阈值T0,当t值小于T0时,令t=T0,本文中所有效果图均以T0=0.1为标准计算。
         因此,最终的恢复公式如下:
    在这里插入图片描述
           要获得更为精细的透射率图,何博士在文章中提出了了soft matting方法,能得到非常细腻的结果。 以下是他论文中的效果图:  
    在这里插入图片描述
    交流扣扣群:533209464(备注“学习”),如果大家有需要,我就录制完整的去雾算法视频讲解课程
    在这里插入图片描述

    展开全文
  • (图片超了,截图了) 图2,图3是去雾算法A的效果。过曝且算法中没有相关调节变量,白天图片晚上图片各一张大家参考一下。效果很差对吧!处理时间1秒。本人后续会再尝试修改完善一下。 图四是去雾算法B的效果。经过...
  • 基于暗通道先验的单幅图像去雾算法研究(一) 算法框图 改进之处详解 代码实现与仿真结果 算法框图 改进之处详解 自适应滤波窗口大小 对于最小值滤波窗口的大小采用自适应的方法,应对所有的图片...
  • 图像去雾算法综述

    千次阅读 多人点赞 2019-10-22 15:52:18
    现有的图像去雾算法综述 一、概述 图像的去雾问题一直以来
  • 去雾算法(原理)

    千次阅读 2019-06-21 08:57:02
    因此,算法的实用性特强,关于这个导向滤波算法大家在何博士的网站可以自己去研习下,除了在去雾方面外,还有着其他多方面的应用,这部分本文不多述。  使用了导向滤波后的去雾效果:           ...
  • 原文:http://blog.csdn.net/laviewpbt/article/details/11555877 最新的效果见 :... 可处理视频的示例:视频去雾效果 在图像去雾这个领域,几乎没有人不知道《Single Image Haze Removal...
  •  在图像去雾这个领域,几乎没有人不知道《Single Image Haze Removal Using Dark Channel Prior》这篇文章,该文是2009年CVPR最佳论文。作者 何凯明博士,2007年清华大学毕业,2011年香港中文大学博士毕业,可
  • 最近闲来无事尝试了一下去雾算法的效果,从随便搜集到的资料来看多数算法是用于白天带雾图像去雾的,少部分是研究夜间带雾图像去雾的。而白天的去雾算法有很多都衍生自何博士的《Single Image Haze Removal Using ...
  • 课程设计总结 4五. 设计体会 5六. 参考文献 6设计任务由于大气的散射作用,雾天的大气退化图像具有对比度低、景物不清晰的特点,给交通系统及户外视觉系统的应用带来严重的影响。但由于成像系统聚焦模糊、拍摄场景...
  • 图像去雾算法(一)相关研究及链接

    万次阅读 多人点赞 2017-10-21 10:56:48
    引言:   在雾、霾之类的恶劣天气下,采集的图像质量会由于大气散射而严重降低, 使图像颜色偏灰白色, 对比度降低, ...其优点是可以利用已有的成熟图像处理算法进行针对性运用, 增强图像的对比度, 突出图像中景物的...
  • 这篇文章将讲解ACE去雾算法、暗通道先验去雾算法以及雾化生成算法,并且参考了两位计算机视觉大佬(Rizzi 何恺明)的论文。希望这篇文章对您有所帮助,这些大佬是真的值得我们去学习,献上小弟的膝盖~fighting!
  • 去雾算法相关资料

    千次阅读 2018-03-03 19:05:31
    最新: 重要: ...图像去雾去雨去模糊去噪 PPT:https://blog.csdn.net/f290131665/article/details/79572012 评价指标:https://blog.csdn.net/f290131665/article/details/79514410 AOD-NET: ...
  • 图像处理进阶——去雾算法

    千次阅读 2019-09-27 10:10:10
        在图像去雾这个领域,几乎没有人不知道《Single Image Haze Removal Using Dark Channel Prior》这篇文章,该文是2009年CVPR最佳论文。作者何凯明博士,2007年清华大学毕业,2011...
  • 高级图像去雾算法的快速实现。

    万次阅读 多人点赞 2015-01-18 13:07:36
    原文:http://blog.csdn.net/laviewpbt/article/details/11555877  最新的效果见 :...  可处理视频的示例:视频去雾效果 ... 在图像去雾这个领域,几乎没有人不知道《Single Image Haze Re
  • 去雾论文总结

    千次阅读 多人点赞 2018-03-15 18:09:37
    去雾论文总结 从2017年10月起,我向导师申请转换研究到图像处理方向,于是导师给了我研究课题——图像去雾,到这学期开始2018年3月,研一第一个学期的学习并没有什么进展,期间产生的种种突发奇想的研究想法还没来...
  • 1.课题介绍本文首先简单介绍基于暗原色先验去雾算法,然后总结出各变量的求解,最后利用已知程序检验算法的效果。引言:在雾天时,由于空气中大量悬浮粒子的散射和吸收作用,使得光学成像对比度降低,颜色偏灰白色,...
  • 图像处理 去雾算法

    千次阅读 2014-05-04 16:01:24
    《Single Image Haze Removal Using Dark Channel Prior》一文中图像去雾算法的原理、实现、效果(速度可实时)  本文算法合作联系QQ: 1664462947, 非诚勿扰   邮件地址: laviewpbt@sina.com  最新的...
  • 总结图像效果差的原因后,利用去雾算法获得了绝大多数场景适用的处理效果,CPU单帧处理时间为160ms(3*1920*1080)。 种种原因,于8.15开始成为一只社畜,找的工作呢是关于图像处理的。入职第一天,我的组长给了我...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 565
精华内容 226
关键字:

去雾算法总结