文档

imreducehaze

减少大气雾霾

语法

[D,T,L] = (X)
___= imreducehaze(X,amount)
___= imreducehaze(___、名称、值)

描述

例子

DTl= imreducehaze(X减少香港的雾霾X,这是一个RGB或灰度图像。D是去雾化后的图像。T包含每个像素的雾霾厚度估计值。l是估计的大气光,代表最亮的非镜面雾的值。

___= imreducehaze(X减少图像中的大气雾霾X,在那里指定去除雾霾的数量。

例子

___= imreducehaze(___名称,值使用名称-值对更改去雾化算法的行为。

例子

全部折叠

读取模糊的图像到工作空间。

A = imread(“foggysf1.jpg”);

减少雾霾和显示的结果沿原图像。

B = imreducehaze(A);
(A, B,“蒙太奇”

读取模糊的图像到工作空间。

A = imread(“foggysf2.jpg”);

减少90%的雾霾使用approxdcp方法。

B = imreducehaze(A, 0.9;“方法”“approxdcp”);

在原始图像旁边显示结果。

(A, B,“蒙太奇”

读取模糊的图像到工作空间。

A = imread(“foggyroad.jpg”);

使用默认参数值减少图像中的雾霾。

[~, T] = imreducehaze(A);

在原始图像旁边显示结果。

图,imshowpair(A, T,“蒙太奇”

雾霾厚度提供了场景深度的粗略近似,定义到一个未知的乘法因子。添加每股收益为了避免日志(0)

D = -log(1-T+eps);

出于显示目的,请缩放深度,使其位于[0,1]。

D = mat2gray(D);

将原始图像显示在估计深度的旁边,用假颜色显示。

图subplot(1,2,1) imshow(A), title(“朦胧的形象”) subplot(1,2,2)“深度估计”colormap(gca, hot(256))

输入参数

全部折叠

输入RGB或灰度图像,指定为实数,非稀疏,——- - - - - -n-by-3 (RGB)或——- - - - - -n(灰度)数组。

数据类型:||uint8|uint16

要删除多少雾霾,指定为范围中的一个标量[0, 1].当amount为1(默认值)时,imreducehaze减少雾霾的最大数量。当数量为0时,输入图像不变。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

名称-值对实参

指定逗号分隔的可选对名称,值参数。的名字参数名称和价值对应的值。的名字必须出现在单引号内(' ').可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:B = imreducehaze(A, 0.9, 'method', 'approxdcp');

全部折叠

用于减少雾霾的技术,具体称为“simpledcp”“approxdcp”.的“simpledcp”方法采用逐像素暗通道在雾霾估计和四叉树分解之前计算大气光。“approxdcp”在计算雾霾减少之前的暗通道时,使用逐像素和空间块,不使用四叉树分解。

数据类型:字符|字符串

要作为雾霾处理的最大值,指定1乘3的向量(用于RGB图像)或标量(用于灰度图像)。值必须小于或等于1。不指定时,此值取决于的值“方法”.为“approxdcp”,暗通道中最亮的0.1%像素作为估计值。为“simpledcp”imreducehaze使用四叉树分解来计算值。

数据类型:

提高图像对比度的后处理技术,具体为“全球”(默认),“提升”,或“没有”

数据类型:字符|字符串

应用于后处理的每像素增益的数量,指定为范围中的标量[0, 1].此参数仅在以下情况下被允许“ContrastEnhancement”设置为“提升”

数据类型:

输出参数

全部折叠

去雾化的图像,作为数字数组返回。

每个像素处雾霾厚度的估计,作为数字数组返回。

估计的大气光,作为数字数组返回。l代表最亮的非镜面雾。

提示

  • 为了获得更好的效果,大气光值应该大于0.5

  • 使用对比度增强为none,应用用户自定义的对比度增强技术

  • 数值应接近1,以减少更多雾霾。

  • 减少数量值,如果结果看起来颜色失真

算法

函数imreducehaze使用两种不同的去雾方法,simpledcp和approxdcp,来减少图像中的雾霾。这两种去雾技术可以分为五个主要步骤

  • 利用暗通道先验估计大气光

  • 透射图估计

  • 细化估计的传输图

  • 恢复

  • 后置处理

描述雾霾像形成的广泛使用的模型[1]是

I(x) = J(x)t(x)+A(1-t(x))

在哪里为观测到的强度,J是景色的光辉,一个大气是光的吗t是一种传输介质,描述未散射并到达相机的那部分光。通过对传输图的估计t还有大气光一个我们可以恢复场景亮度J

J(x) = (I(x)-A)/(max(t(x), t0)) + A

近似暗通道先验(Approximate Dark Channel Prior, ApproxDCP)方法[1]利用暗通道从单幅雾霾图像中去除雾霾。暗通道是基于一个关键的观察结果,即在室外无雾图像的大多数局部斑块中,至少在一个颜色通道中包含一些强度非常低的像素。大气光是用暗通道的前0.1%的明亮像素估计的。然后利用暗通道和大气光估计透射图。该方法采用引导滤波器对估计的传输图进行细化。在得到大气光和透射图后,利用逆科施米德定律恢复场景亮度。得到的去雾图像对比度较低(暗淡),因此采用对比度增强作为后处理步骤来提高对比度。

简单暗通道先验(SimpleDCP)方法利用暗通道去除图像中的雾霾。暗通道可以通过考虑R, G, B通道的最小强度来估计。利用四叉树分解暗通道[2]估计大气光。然后利用暗信道对传输图进行估计。采用导向滤波器对传输图进行细化。利用估计的大气光和透射图来恢复场景的亮度。对比度增强技术是一种提高图像对比度的后处理方法。SimpleDCP和ApproxDCP的主要区别是暗通道和大气光的估计。

参考文献

何,开明。“使用暗通道先验去除单幅图像雾霾。”论文,香港中文大学,2011。

[2] Dubok,等。基于图像熵和信息保真度的单幅图像去雾。ICIP, 2014年。

在R2017b中引入

这个话题有帮助吗?