基于暗通道的图像去雾处理方法
暗通道优先的图像去雾算法(上)

暗通道优先的图像去雾算法(上)11.1 暗通道优先的图像去雾算法图像增强与图像修复⼆者之间有⼀定交叉,虽然它们⼀个强调客观标准,⼀个强调主观标准,但毕竟终于的结果都改善了图像的质量。
图像去雾就是这两种技术彼此交叉领域中最典型的代表。
假设将雾霾看作是⼀种噪声,那么去除雾霾的标准显然是⾮常客观的,也就是要将图像恢复⾄没有雾霾下所获取的情况。
可是假设将在雾霾环境下拍摄的照⽚就看作是⼀种图像本来的⾯貌,那么去雾显然就是⼈们为了改善主观视觉质量⽽对图像所进⾏的⼀种增强。
早期图像去雾的研究并没有得到应有的重视,⾮常多⼈觉得它的实际意义不⼤,甚⾄觉得所谓的去雾算法多是些华⽽不实的花拳绣腿,缺乏学术上的价值。
然⽽,⽃转星移,时易世变。
⼀⽅⾯随着⼤⽓污染的⽇益严重,设法改善⾃⼰主动获取的图像质量其意义不⾔⽽喻。
还有⼀⽅⾯,随着数码设备的普及,消费类电⼦产品的市场也催⽣出很多新的需求,当中⼈们对所拍照⽚质量的修正和优化就是⼀个显⽽易见的需求。
说到图像去雾,就不得不提到由何恺明博⼠等⼈提出的基于暗通道的图像去雾算法。
这个算法因其新颖的思路和理想的效果⽽⼴受关注,相关论⽂也曾于2009年荣获CVPR最佳论⽂奖,同⼀时候也是该奖设⽴以来,⾸次由亚洲学者获颁此殊荣。
如今结果已经⽐較细腻了,可是显然图像有些暗。
何博⼠在论⽂中也有提及直接暗通道算法的结果会是⽐較暗的。
下⼀篇⽂章中,我们将给出在MATLAB中实现的源码,并对过暗的图像添加曝光和⾃⼰主动⾊阶,从⽽得到完美的去雾图像。
未完,待续。
(特别说明:本⽂是从我未出版的新书中抽选出来的,所以⾏⽂中读者可能会感觉有些地⽅好像会有对其它章节内容的引⽤或者提及,或者某些插图的编号直接编到了图11-X,可是这并最好还是碍你对本⽂的阅读和理解)。
基于暗通道先验的图像去雾算法改进研究

基于暗通道先验的图像去雾算法改进研究摘要:暗通道先验去雾算法求得的的透射率比较精细,去雾效果优于大多数去雾算法。
然而在暗通道求取过程中,最小值滤波的处理会使得暗色向外扩张,导致透射率扩张变大,使得去雾后的图像在边缘部分产生“光晕”现象。
为了减弱光晕效应,利用形态学理论对粗略透射率进行腐蚀处理,腐蚀掉扩张变大的透射率,然后使用容差机制修复不符合暗原色先验的明亮区域透射率,再使用引导滤波精细化透射率,最后利用去雾模型复原图像。
实验表明,改进后的算法去雾效果更佳、去雾速度更快,具有更强的鲁棒性。
关键词:暗通道先验去雾;腐蚀;引导滤波DOIDOI:10.11907/rjdk.161089中图分类号:TP312文献标识码:A 文章编号:1672-7800(2016)005-0030-040 引言雾霾天气不仅影响人们的出行,也给视频监控、自动驾驶等涉及室外图像应用的领域带来了很大挑战,并引起了相关研究人员的重视,如今已出现了不少研究成果。
图像去雾的研究方法可分为两大类,基于图像增强的方法和基于物理模型的方法。
早期图像去雾研究主要利用图像处理的知识来去雾,Kim[1]提出对雾图进行局部直方图均衡处理的方法,这种方法根据每个像素的邻域对像素进行处理,可以突出图像的特征,但运算量较大,算法复杂度较高。
Land[2-3]基于色彩恒常性提出了Retinex即视网膜皮层理论,其后出现了一些基于Retinex的图像增强算法[4-6],与其它图像增强算法相比,基于Retinex的图像增强算法处理的图像,局部对比度相对较高,色彩失真较小。
基于图像增强的去雾方法可以利用成熟的图像处理算法来增强图像的对比度,突出图像中的特征信息,但这种方法会造成图像部分信息损失,导致图像失真。
图像去雾的另一类是基于物理模型的方法,该方法研究大气悬浮颗粒对光的散射作用,通过大气散射模型来复原图像,恢复的图像效果更真实,图像信息能得到较好保存。
Narasimhan等[7]提出了雾霾天气条件下的单色大气散射模型,后来基于物理模型的方法几乎均建立在此模型之上。
基于暗通道先验的海边雾天图像去雾算法研究

目录第一章绪论 (1)1.1图像去雾研究背景 (1)1.2图像去雾的研究目的和意义 (2)1.3图像去雾方法的研究现状 (2)1.3.1基于图像增强的去雾方法 (3)1.3.2基于图像复原的去雾方法 (3)1.4论文的结构安排及创新点 (4)第二章基于暗通道先验模型的去雾算法 (7)2.1雾的形成及雾天对图像的降质原因 (7)2.1.1雾的形成 (7)2.1.2雾对图像的降质影响 (8)2.1.3海边雾天图像特点 (8)2.2大气散射模型 (9)2.2.1直接衰减模型 (10)2.2.2大气衰减模型 (12)2.2.3大气散射模型 (14)2.3暗通道先验理论 (15)2.3.1暗通道先验规律 (15)2.3.2暗通道先验模型 (18)2.3.3透射率优化 (20)2.3.4大气光值估计 (22)2.3.5图像复原 (22)2.3.6基于暗通道先验模型去雾算法优缺点分析 (23)第三章K-means聚类算法分割雾天图像 (27)3.1聚类综述 (27)3.1.1聚类分析的概念及数据结构 (27)3.1.2聚类分析相似性度量和准则函数 (28)3.2K-means聚类算法 (30)3.2.1K-means聚类算法基本思想 (30)3.2.2K-means聚类算法流程 (30)3.2.3K-means聚类算法优缺点分析及改进 (31)3.3改进的K-means聚类算法分割天空区域 (32)3.3.1图像分割定义及分类 (32)3.3.2利用改进的K-means聚类算法分割天空区域 (33)3.3.3估计大气光强度 (34)第四章海边雾天图像去雾算法的实现 (37)4.1引导滤波优化透射率 (37)4.2色调重映射 (39)4.3实验结果与分析 (40)4.3.1中值滤波 (40)4.3.2双边滤波 (41)4.3.3实验结果分析与评价 (42)第五章总结与展望 (47)5.1全文总结 (47)5.2展望 (47)参考文献 (49)攻读学位期间的研究成果 (53)致谢 (55)学位论文独创性声明 (57)学位论文知识产权权属声明 (57)第一章绪论1第一章绪论1.1图像去雾研究背景视觉是人类重要的感知手段之一,而图像作为视觉的基础,是自然界的场景中所包含的景物的客观反映,是人类从自然界中获得信息的主要来源。
暗通道去雾算法的c++实现

暗通道去雾算法的c++实现摘要:1.暗通道去雾算法概述2.暗通道去雾算法的C++实现3.C++实现的优点与局限性4.未来发展趋势正文:一、暗通道去雾算法概述暗通道去雾算法是一种基于图像暗通道优先的图像去雾方法,该算法由何凯明博士提出,并在2009 年CVPR(计算机视觉和模式识别国际会议)上获得最佳论文奖。
该算法主要针对图像中的雾天效应,通过统计分析大量户外自然景物图片,发现晴空图像的非天空部分的局部区域内,存在一些像素至少一个颜色通道具有很低的值,该区域内各个通道的最小值接近零。
利用这一规律,可以有效地去除图像中的雾气,提高图像质量。
二、暗通道去雾算法的C++实现暗通道去雾算法的C++实现主要包括以下几个步骤:1.读取图像并转换为灰度图像2.对灰度图像进行最小值滤波,得到暗通道图像3.计算暗通道图像的透率4.根据透率恢复原始图像三、C++实现的优点与局限性C++实现的优点:1.代码结构清晰,易于理解2.利用C++的性能优势,计算速度较快3.可以方便地与其他图像处理库(如OpenCV)结合使用局限性:1.实现过程中需要处理大量图像数据,计算量较大2.如果处理大型图像,可能会导致内存不足3.算法本身具有一定的局限性,可能不适用于所有类型的雾天图像四、未来发展趋势随着深度学习和人工智能技术的发展,图像去雾算法在未来将取得更大的突破。
例如,可以尝试将深度学习技术应用于去雾算法,提高去雾效果;另外,也可以研究更加智能的算法,使其能够自动适应不同的雾天图像,提高去雾效果。
综上所述,暗通道去雾算法的C++实现具有一定的优点,但仍存在一些局限性。
图像去雾----暗通道

图像去雾----暗通道暗通道去雾算法原理及实现1. 算法原理。
基本原理来源于何凯明⼤神的CVPR09的论⽂暗通道。
所谓暗通道是⼀个基本假设,这个假设认为,在绝⼤多数的⾮天空的局部区域中,某⼀些像素总会有⾄少⼀个颜⾊通道具有很低的值。
这个其实很容易理解,实际⽣活中造成这个假设的原因有很多,⽐如汽车,建筑物或者城市中的阴影,或者说⾊彩鲜艳的物体或表⾯(⽐如绿⾊的树叶,各种鲜艳的花,或者蓝⾊绿⾊的睡眠),颜⾊较暗的物体或者表⾯,这些景物的暗通道总是变现为⽐较暗的状态。
所以暗通道是什么呢?其实⽐较简单,作者认为暗通道是:暗通道先验理论指出:暗通道实际上是在rgb三个通道中取最⼩值组成灰度图,然后再进⾏⼀个最⼩值滤波得到的。
我们来看⼀下有雾图像和⽆雾图像暗通道的区别:可以发现,有雾的时候会呈现⼀定的灰⾊,⽽⽆雾的时候咋会呈现⼤量的⿊⾊(像素为接近0),作者统计了5000多副图像的特征,基本都符合这样⼀条先验定理。
雾图形成模型计算机视觉中,下⾯这个雾图形成模型是被⼴泛使⽤的:其中I(x)是现有的图像(待去雾),J(x)是要恢复的原⽆雾图像,A是全球⼤⽓光成分,t(x)是透射率,现在的条件就是已知I(x),来求J(x),显然不加任何限制的话是有⽆穷多个解的。
但是现实⽣活中,即使是晴天⽩云,空⽓中也会存在⼀些颗粒,看远⽅的物体还是能够感觉到雾的影响,另外,雾的存在可以让⼈们感觉到景深的存在,所以我们保留⼀部分的雾,上式修正为:其中w是[0-1]之间的⼀个值,⼀般取0.95差不多。
上⾯的推导都是假设全球⼤⽓光是已知的,实际中,我们可以借助暗通道图来从有雾图像中来获取该值:1. 从暗通道图中按照亮度⼤⼩取前0.1%的像素。
2. 在这些位置中,在原始图像中寻找对应具有最⾼亮度点的值,作为A值。
到这⾥,我们就可以进⾏⽆雾图像的恢复了:当投射图t很⼩时,会导致J的值偏⼤,会导致图⽚某些地⽅过爆,所以⼀般可以设置⼀个阈值来限制,我们设置⼀个阈值:⼀般设置较⼩,0.1即可。
暗通道去雾算法的流程

暗通道去雾算法的流程
1)计算暗通道:首先计算图像的暗通道,暗通道从多个颜色通道中取最小值,该值代表了特定像素的整体暗度,像素点越暗,对应的暗通道值越小。
2)计算暗通道图:将所有像素点的暗通道值组合成暗通道图,用来表示各个像素的暗度。
3)计算暗通道掩模:根据暗通道图中的暗度,计算暗通道掩模,掩模像素值越大,表示图像越暗。
4)去除雾气:利用暗通道掩模去除雾气,可以得到去雾后的图像。
5)视差法补偿缺失:由于去雾后的图像中可能会存在部分信息缺失的情况,可以使用视差法补偿缺失的信息,使图像更加清晰。
以上就是暗通道去雾算法的基本处理流程,它是一种非常高效、快速的去雾技术,可以大大减少图像处理的时间,提高处理效率。
暗通道去雾算法相比传统去雾技术,无论是从处理速度还是处理质量来说,都具有明显的优势。
暗通道去雾算法原理

暗通道去雾算法原理暗通道去雾算法是一种常用的图像去雾方法,它基于暗通道先验原理,在图像中预先找到暗通道并利用其估计场景深度和大气光,从而去除图像中的雾霾。
该算法具有计算速度快、效果稳定等优点,在计算机视觉、图像处理等领域具有广泛的应用。
下面我们将详细介绍暗通道去雾算法的原理。
一、判定暗通道对于一张含有雾的图片I,其在某个像素位置的亮度值可以表示为I(x),其中x为该像素的坐标位置。
根据图像去雾的基本原则,假设原始场景的亮度值为J(x),则I(x)可以被表示为:I(x)=J(x)t(x)+A(1-t(x))其中t(x)表示该像素处的透射率,A表示场景的大气光,1-t(x)表示该像素的反射率。
对于一张图像,其暗通道一般可以通过以下公式计算:Dc(x)=min(min(Jr,Jg),Jb)其中Dc表示暗通道,Jr,Jg,Jb分别表示图片每个像素点处的红、绿、蓝通道的值。
该公式的物理意义是,在具有较强雾霾的区域,颜色值越小的像素点更容易透过雾霾,因此在暗通道中颜色值最小的像素点更可能是无雾情况下的颜色。
二、估计大气光在使用暗通道先验原理求图像场景深度之前,需要先估计图片中的大气光。
根据上述公式,Dc的最小值与大气光A具有关联,可以通过以下公式计算:A=argmax(I(x))其中argmax表示取所有像素点中亮度值最大的像素点的位置,该位置即为大气光所在位置。
由于大气光通常在图片中位置比较靠近,因此可以针对一个较小的图片区域进行计算,以提高速度和准确性。
需要注意的是,由于图像中可能存在比大气光更亮的物体,如光源等,因此在计算大气光时需要对这些物体作出排除。
三、估计场景深度场景深度是指光线在经过物体时所穿过的距离,能够用于估计透射率。
根据暗通道先验原理,可以使用暗通道估计场景深度。
具体而言,可以通过以下公式计算场景深度:t(x)=1-ωmin(D(x)/A)其中ω表示全局透射率的权重,通常设置在0.95左右。
暗通道去雾算法matlab

暗通道去雾算法是目前应用最广泛的图像去雾算法之一,其基本思想是利用暗通道先验知识,将图像中的暗部像素视为先验图像,通过对图像进行梯度计算和阈值分割,去除图像中的雾气影响。
下面是基于MATLAB 的暗通道去雾算法实现步骤:1. 输入图像预处理首先,需要对输入的图像进行预处理,包括去除图像中的噪声和调整图像的亮度、对比度等。
img = imread('image.jpg'); 读取图像img_gray = rgb2gray(img); 转换为灰度图像img_denoised = img_gray - filter2(bilateralFilter(img_gray), 1, 10, 100); 去除噪声img_adjusted = imadjust(img_denoised, 0.5, 1.5, 0, 1); 调整亮度和对比度2. 计算梯度接下来,需要计算图像的梯度,以确定图像中的暗部像素。
[gx, gy] = gradient(img_adjusted); 计算梯度3. 计算梯度的幅值和方向然后,需要计算梯度的幅值和方向。
[mag, ang] = gradient(img_adjusted); 计算梯度的幅值和方向4. 计算暗通道先验接下来,需要计算暗通道先验图像。
mask_threshold = 0.01; 设定阈值mask_min = 0; 设定最小值mask_max = 1; 设定最大值mask = mag .* (mask_threshold + mask_min) .* (mask_threshold + mask_max); 计算暗通道先验5. 阈值分割和去雾最后,需要进行阈值分割和去雾。
[y, x] = find(mask > 0); 找到暗通道先验大于零的位置img_dehaze = img_adjusted(y, x); 提取暗通道先验大于零的部分img_dehaze = imadjust(img_dehaze, 0, 255, 0, 255); 调整颜色img_dehaze = imshow(img_dehaze, []); 显示去雾后的图像imwrite(img_dehaze, 'dehaze.jpg'); 保存去雾后的图像以上就是基于MATLAB 的暗通道去雾算法实现步骤。
基于暗通道的图像去雾处理方法

基于暗通道的图像去雾处理方法随着信息技术的发展,运用图像传输信息的方式也越来越普遍。
对于传统的图像来说,传输已经不是问题。
但是近些年的雾天出现增多,给室外的雾天图像中包含的信息的有效获取带来很大的困扰。
本文主要是以暗通道优先法为原理,讨论实现图像的有效去雾算法。
标签:图像处理;去雾;暗通道优先法1 研究背景相对湿度达到百分之百、水汽充足且大气层稳定时,视野模糊和能见度降低的天气现象,被称为雾。
在人口较为密集的地区,大雾的出现对当地的人们出行和当天的经济生产造成了巨大的影响。
因此,对雾天图像的处理是不可或缺的。
在数字图像处理大雾天气下的图像中,可以分为两大类,一种为图像增强(image enhancement)技术,另一类是图像修复技术(image restoration)。
图像增强是一个相对主观的判断,其最大的标准就是将图片中的图像增强到符合人眼对真实实物的认知。
在这一过程中,可能会出现部分细节的丢失。
但最终还是能大大的提高图像主体的辨识度。
图像复原是需要对已得到的退化图像进行抽象,通过已有的经验建立其退化过程的模型,依照此模型将图像复原到未退化之前。
2 基本原理2.1 图像的定义图像是客观对象的一种相似性的、生动性的描述或写真,是人类社会活动中最常用的信息载体。
或者说,图像是客观对象的一种表示,它包含了被描述对象的有关信息。
图像是写实的,能够很清晰的表达出客观对象的。
2.2 数字图像概念图像可以分为模拟图像和数字图像。
模拟图像是对真实的情况的记录,其可根据某种物理量的强弱变换来记录图像的具体信息,一般情况下比数字图像的记录更加精确;数字图像是运用在电子产品中的存储方式和模拟图像不一样的图像,其将一副图像看成一个二维数组,记录下每一个点的像素信息。
从数学方面解释数字图像,图像可以用一个二维函数f(x,y)来表示。
x 代表其横坐标,y代表纵坐标。
函数整体的幅值用f定义,有时可以将f认为是灰度值。
在数字图像中,图像都是从连续图像(如模拟图像中)采样后得到的。
去雾算法 快速

快速去雾算法
常见的去雾算法有很多,以下是一些比较快速的去雾算法:
基于暗通道先验的去雾算法(Dark Channel Prior):该算法通过估计图像中暗通道的最小值来消除雾霾。
由于暗通道在大多数情况下都很暗,因此该算法可以快速地处理大型图像。
1.基于快速滤波器的去雾算法:该算法利用快速滤波器对图像进行
模糊处理,然后通过减去原始图像和模糊图像之间的差异来消除雾霾。
该算法具有简单、快速和高效的优点。
2.基于逆深度的去雾算法:该算法使用逆深度图像来描述场景中的
深度信息,并从图像中恢复出透射率和场景深度。
该算法能够快速地处理大型图像,但需要进行较为精确的深度估计。
3.基于颜色衰减模型的去雾算法:该算法基于颜色衰减模型来描述
雾霾对图像颜色的影响,并通过对图像进行颜色校正来消除雾霾。
该算法速度较快,但对雾霾密度变化较大的图像处理效果不佳。
需要注意的是,快速去雾算法往往会牺牲一定的精度,因此在选择去雾算法时需要根据具体应用场景进行权衡。
如何使用计算机视觉技术进行图像去雾与增强

如何使用计算机视觉技术进行图像去雾与增强图像去雾与增强是计算机视觉领域中的重要研究方向,广泛应用于图像处理、计算机图形学、以及无人机等方面。
随着科技的进步,计算机视觉技术在图像去雾与增强方面取得了显著的进展。
本文将介绍如何使用计算机视觉技术进行图像去雾与增强,包括去除雾气、增强图像细节等相关技术。
首先,对于图像去雾技术,最常用的方法是基于暗通道先验原理的图像去雾算法。
这一算法基于观察到的现象,即在大多数非天空户外图像中,至少有一个颜色通道的像素值非常低。
在这种情况下,输入图像中的背景是包含在局部最小值上的一个暗通道。
利用这一原理,可以通过计算每个像素的暗通道,然后根据透射率来还原出去雾后的图像。
其次,图像增强是为了提高图像的质量,使其更具视觉效果和识别准确度。
常见的图像增强方法有直方图均衡化、灰度拉伸、锐化等。
直方图均衡化是一种通过增加灰度级之间的差异来增强图像对比度和亮度的方法。
它通过重新分配图像的灰度级,使直方图在整个灰度级范围内均匀分布。
这样可以使得图像中的细节更加清晰,但可能会导致图像的噪声增加。
因此,在应用直方图均衡化之前,可以先进行图像去噪处理,以提高图像增强的效果。
另外,除了以上提到的方法,还有一些基于深度学习的图像去雾与增强技术。
深度学习是一种机器学习的方法,通过构建多层神经网络模型来学习输入数据的表示和特征。
在图像去雾与增强中,可以通过训练深度神经网络来学习图像中的特征,进而进行去雾与增强处理。
这种方法能够自动学习图像中的模式和特征,并且在一定程度上克服了传统方法的局限性。
然而,由于深度学习方法需要大量的训练样本和计算资源,因此在实际应用中需要充分考虑数据和计算的限制。
值得一提的是,图像处理中还有一种常用的技术是图像超分辨率。
图像超分辨率是指通过一系列算法和处理技术将低分辨率图像转换为高分辨率图像的过程。
常用的图像超分辨率方法包括插值、基于样本的方法和基于深度学习的方法。
图像超分辨率技术可以提高图像的细节和清晰度,使得图像更适用于目标检测、人脸识别等应用场景。
多尺度暗通道先验去雾算法

多尺度暗通道先验去雾算法你有没有过这样的经历:早上起来,拉开窗帘,哇!外面一片迷蒙,雾霾笼罩,空气中的那层雾霾仿佛一块厚重的遮布,把整个世界都给包裹了。
你明明站在窗前,心里想着“应该可以看到远处的山吧”,可是却只能看到眼前一片灰白,根本看不清楚眼前的景象。
这种情况其实不止我们普通人会遇到,很多时候,影像处理、照片修复这些技术也会碰到类似的困扰——画面模糊不清,层次感丧失,感觉就像是整幅图都蒙上了一层水雾,完全看不见原本的美好。
所以,今天我给大家讲一个神奇的东西,它叫做“多尺度暗通道先验去雾算法”。
听起来是不是很高大上?但其实它的原理并不复杂,就像你要清晰地看见雾霾中的景象,实际上是需要从多个角度去理解雾霾的成分,然后通过这些成分把雾霾一点一点地去掉。
比方说,你眼前的雾霾就是一个不清晰的屏障,这个算法就像是给你提供了一副超级强的“眼镜”,让你可以重新看清楚本该看到的东西。
咋说呢,这个“暗通道”其实是个挺有意思的概念。
我们生活中有很多图像,其实都有一种“暗”的成分。
比如说,在阳光下,屋角的一些地方,由于光线不足,可能会显得有点阴暗。
这个“暗”是图像的一个很重要的特征。
而“暗通道”这一算法的原理就是利用图像中的这种暗的部分,通过分析并去掉那些有雾霾的区域,从而恢复清晰的画面。
你想想,就像是你在雾霾天走路,如果你能找准一些没有被雾霾笼罩的路段,走起来岂不是更加安全和顺畅吗?去雾的过程也不是一蹴而就的,它需要一点技巧。
“多尺度”这个词,也就是说,这个算法在处理雾霾时,不是只看一个大范围的全局情况,而是从不同的尺度、不同的视角去分析和清理。
就像你戴着一副眼镜,你通过不同的镜片去观察周围的景象,视野就会更广,眼前的雾霾也就不那么让人困扰了。
在计算机图像处理中,很多问题都是类似的,都需要在不同的尺度上做细致的处理。
话说回来,这个多尺度暗通道去雾算法是很聪明的,它能够处理很多复杂的情况。
比如,图片中不同区域的雾霾厚度不同,有些地方可能雾霾轻微,有些地方则是雾气沉沉,这时候,我们就不能简单地用同样的方式去掉雾霾了。
matlab基于暗原色先验的去雾处理

基于暗原色先验的去雾处理是一种在MATLAB中实现的图像增强技术。
暗原色先验是基于户外无雾图像数据库得到的一条简单有效的图像先验规律。
以下是基于暗原色先验的去雾处理的基本步骤:
1. 读取图像:首先,需要读取需要进行去雾处理的图像。
2. 获取暗通道:对图像进行分块,并对每个像素块定义暗原色。
暗原色是通过观察户外无雾图像的每个局部区域至少存在某个颜色通道的强度值很低得到的。
3. 计算最小值:对每个像素块的暗通道进行排序,并取最小值。
4. 生成传输图:根据最小值生成传输图。
5. 去雾处理:利用生成的传输图对原图进行去雾处理。
6. 显示结果:显示去雾后的图像。
这种算法的优点是简单且有效,能够在处理后的图像中去除雾气,使图像变得更加清晰,色彩更加鲜艳。
然而,这种算法也有一些局限性,例如在极端情况下(如全白色的图景),效果可能会受到很大的影响。
此外,暗原色先验是基于统计规律的,因此可能不适用于所有图像。
以上是基于暗原色先验的去雾处理的基本步骤和说明,具体实现
需要编写MATLAB代码。
如果您需要更详细的指导或对某个步骤有疑问,请随时向我提问。
暗通道去雾算法的流程

暗通道去雾算法的流程
暗通道去雾算法的流程如下:
1.预处理:基于输入图像计算暗通道图像,得到该图像的每个像素点
的最小值,这个最小值就是暗通道图像的像素值。
2.估计大气光:暗通道图像中的最亮像素点,通常对应于场景中的大
气光。
因此,通过在暗通道图像中寻找亮度最大的像素,就可以估计出大
气光。
3.估计传输率:通过计算每个像素点和该图像中估计的大气光之间的
亮度比例,可以得到每个像素点的传输率。
较亮的区域具有较高的传输率,因为它们受到的大气衰减较少,而较暗的区域具有较低的传输率。
4.去雾重建:采用估计的大气光和传输率,对原始图像进行去雾重建。
去除大气散射后,场景中的物体就变得更加清晰。
5.结果输出:最终输出经过去雾重建的清晰图像。
以上就是暗通道去雾算法的流程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于暗通道的图像去雾处理方法
作者:张澳博
来源:《山东工业技术》2017年第20期
摘要:随着信息技术的发展,运用图像传输信息的方式也越来越普遍。
对于传统的图像来说,传输已经不是问题。
但是近些年的雾天出现增多,给室外的雾天图像中包含的信息的有效获取带来很大的困扰。
本文主要是以暗通道优先法为原理,讨论实现图像的有效去雾算法。
关键词:图像处理;去雾;暗通道优先法
DOI:10.16640/ki.37-1222/t.2017.20.139
1 研究背景
相对湿度达到百分之百、水汽充足且大气层稳定时,视野模糊和能见度降低的天气现象,被称为雾。
在人口较为密集的地区,大雾的出现对当地的人们出行和当天的经济生产造成了巨大的影响。
因此,对雾天图像的处理是不可或缺的。
在数字图像处理大雾天气下的图像中,可以分为两大类,一种为图像增强(image enhancement)技术,另一类是图像修复技术(image restoration)。
图像增强是一个相对主观的判断,其最大的标准就是将图片中的图像增强到符合人眼对真实实物的认知。
在这一过程中,可能会出现部分细节的丢失。
但最终还是能大大的提高图像主体的辨识度。
图像复原是需要对已得到的退化图像进行抽象,通过已有的经验建立其退化过程的模型,依照此模型将图像复原到未退化之前。
2 基本原理
2.1 图像的定义
图像是客观对象的一种相似性的、生动性的描述或写真,是人类社会活动中最常用的信息载体。
或者说,图像是客观对象的一种表示,它包含了被描述对象的有关信息。
图像是写实的,能够很清晰的表达出客观对象的。
2.2 数字图像概念
图像可以分为模拟图像和数字图像。
模拟图像是对真实的情况的记录,其可根据某种物理量的强弱变换来记录图像的具体信息,一般情况下比数字图像的记录更加精确;数字图像是运用在电子产品中的存储方式和模拟图像不一样的图像,其将一副图像看成一个二维数组,记录下每一个点的像素信息。
从数学方面解释数字图像,图像可以用一个二维函数f(x,y)来表示。
x代表其横坐标,y代表纵坐标。
函数整体的幅值用f定义,有时可以将f认为是灰度值。
在数字图像中,图像都是从连续图像(如模拟图像中)采样后得到的。
其中的每一个点在本质上是不连续的,离散的。
每一点都是通过采样和量化之后得到,因此,数字图像只是连续图像的一种近似结果。
经过数字化之后的图像就从原来的二维函数具体化成了一个具体的矩阵。
可以写为:
其中每一点都为一个像素点,即是构成图像的最小基本单位。
每一个像素点都表现出这一点的位置和灰度值信息。
2.3 数字图像处理
一幅原始图像往往是不能很好的满足人们对其的要求的。
例如,在有雾的图像中需要得到具体的细节信息,在较暗的情况下需要得到图中人物的脸部信息,或者是在一幅混合了自然景物和人物的图像中只需要具体的人物信息。
这些图像都需要进行再次处理。
数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。
由于处理过程中需要使用到计算机和实时硬件,也称为计算机图像处理(Computer Image Processing),数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展,二是数学的发展(特别是离散数学理论的创立和完善),三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的增长。
2.4 数字图像处理的发展
当计算机刚出现时,由于制造成本的限制,使得那时的计算机只是世界上少部分人可接触到的东西;后来随着可视化界面以及互联网的出现,计算机得到了极大的推广。
它不再是那个大多数人都不可见不可知的神秘事物,而是一个可以通过计算机和互联网看到整个世界的工具。
在上世纪20年代,数字图像处理开始出现。
当第一根从英国伦敦连接到美国纽约的海底电缆建立时,数字图像处理开始发展。
由于图片的信息量大,需要传输的数据多,在当年如果需要传输一幅图像得需要好几天,因此图像的处理显得尤为关键。
在那个年代,就出现了数字图像处理之后将传输时间缩短为几个小时的实例。
图像处理的真正发展开始于二十世纪六十年代,那时出现了能处理图像的计算机,凭借其在当时是世界上最快速的运算工具,很多图片的处理变得可能。
图像处理这一领域随即涌现出来许多专业方面的研究。
医学图像,天文图像的处理得到飞速发展。
CT,电子计算机断层扫描也是基于此建立,成为了现代医学的诊断过程的重要工具。
之后开始开始对图像进行更多的处理。
无论是增强,压缩,分隔,或者是识别,种种新的图像处理技术都使计算机为我们打开的窗户显得更加清晰。
而随着互联网传输速度与传输大小的提升以及计算在存储,计算以及显示能力的大幅度提升。
图像处理应用越来越广泛,从1964美国喷气推进实验室对航天探测器“徘徊者七号”发回的几千张月球照片进行计算机处理后得到的清晰逼真的照片。
从那时起,图像处理念想便是通过对其进行一系列的计算将图像恢复成与肉眼相同的视觉效果,适应人的直观感受。
现如今,图像处理应用于方方面面。
从大气天气分析到海洋水质监测、从物质频谱分析到人体健康检查、从日常人们通讯到军事导弹控制、从工厂产品加工到电子商务物品的购买等等都体现出图像处理在生活中的重要地位。
3 暗通道优先去雾算法
3.1 暗通道基本理论
暗通道理论是由何恺明等人在统计无雾图像的特点之后提出的。
因为该算法何恺明等人获得的2009年CVPR最佳论文,也是因为该算法,何恺明称为了首位获得该奖项的亚洲学者。
该理论提出,在大部分的非天空区域中,某一些像素点总会在至少一个颜色通道中的值很低甚至可以认为其趋近于零。
可认为,此区域中的光强度的最小值是一个极其小的数。
由前面的理论,对于任意的图像J,暗通道可以表达为:
(3-1)
其中,表示的是图像J中的R,G,B颜色通道,表示以像素x为中心的一个矩形窗口。
式(3-1)的具体计算步骤是:(1)求出每一个像素点中RGB分量中的最小值;(2)将此最小值存入一副和原图大小相同的灰度图;(3)对存入的灰度图进行最小值滤波。
滤波的半径与矩形窗口大小有关,一般选择,。
根据式子(3-1)计算出的是一个很小的值,在此,将它认定为趋近于零,即:
将图像认为J的暗通道。
日常生活中出现图像中某一个颜色通道出现很低的值的情况很多,大致可分为3个大类:(1)投影或者是阴影区域,自然景观在水面或天空的投影、房子或广告牌的阴影部分等都会导致出现某一个颜色通道出现很低的值;(2)物体表面颜色鲜艳或者是物体存在于颜色鲜艳的背景中,红色的花、绿色的草地或者蓝色的水面附近的物体;(3)整体的颜色就是较暗的物体,灰色的石头、树木等。
3.2 建立图像恢复公式
大气光通常是取光强度最大的像素。
将大气光值A设为一个已知数。
在暗通道优先理论中,我们可以在图像中选择亮度最亮的0.1%的像素,然后再在原始图像中寻找到对应位置的亮度最高的点的值,取此值为全球大气光A的值。
4 总结
随着信息时代的到来,因为图像中包含的信息多,越来越多的信息需要通过图像来传输。
但是雾天的来临使得户外的图像不能达到能准确表达出实时情况的。
本文主要是采用了何恺明博士的基于暗通道优先的去雾方法,通过学习其中原理、推导计算步骤来讨论其去雾的有效性,并且建立起图像恢复模型,实现图像去雾处理。
参考文献:
[1]孙茂金.基于暗通道优先的单幅图像去雾算法研究[D].大连海事大学,2010.
[2]祝培.恶劣天气环境下图像的清晰化[D],西安:西安理工大学, 2004.
[3]陈宁宁.数字图像处理技术在智能交通中的应用[J].电子设计工程,2013.
作者简介:张澳博(1999-),男,河南南阳人,学生。