主要内容

imreducehaze

减少大气雾霾

描述

例子

JTl= imreducehaze(在彩色或灰度图像中减少大气雾霾.函数返回去雾化的图像J,估计T的雾霾厚度,以及估计的大气光l

___= imreducehaze(另外,指定要删除的雾霾量。

例子

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

例子

全部折叠

把模糊的图像读进工作空间。

A = imread(“foggysf1.jpg”);

减少雾霾和显示结果旁边的原始图像蒙太奇。

B = imreducehaze(A);蒙太奇({B})标题(“雾霾图像(左)vs雾霾减少图像(右)”

图中包含一个axes对象。标题为Haze Image(左)vs. Reduced Haze Image(右)的坐标轴对象包含一个类型为Image的对象。

把模糊的图像读进工作空间。

A = imread(“foggysf2.jpg”);

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

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

以蒙太奇的方式显示原始的雾霾图像和减少雾霾的图像。

蒙太奇({B})

图中包含一个axes对象。坐标轴对象包含一个image类型的对象。

阅读和显示朦胧的图像。

A = imread(“foggyroad.jpg”);imshow (A)标题(“朦胧的形象”

图中包含一个axes对象。标题为Hazy Image的axes对象包含一个类型为Image的对象。

使用默认参数值减少图像中的雾霾。返回雾霾厚度的估算值。

[~,T] = imreducehaze(A);

显示雾霾厚度测量。

imshow (T)标题(“霾厚度”

图中包含一个axes对象。标题为Haze Thickness的axis对象包含一个类型为image的对象。

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

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

用假颜色显示估计的深度。

imshow (D,[])标题(“深度估计”) colormap

图中包含一个axes对象。标题为Depth Estimate的axes对象包含一个类型为image的对象。

输入参数

全部折叠

模糊图像,指定为RGB或灰度图像。

数据类型:||uint8|uint16

要去除的雾霾量,指定为范围[0,1]中的数字。当值为1imreducehaze减少雾霾的最大数量。当值为0imreducehaze不减少雾霾和输入图像不变。较大的值会导致更严重的颜色失真。

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

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

例子:B = imreducehaze(A,0.9,method="approxdcp");使用近似暗通道先验方法减少雾霾。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

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

用于减少雾霾的技术,指定为以下值之一:

  • “simpledcp”-简单的暗通道先验方法[2].该技术采用逐像素暗通道估计雾霾,四叉树分解估计大气光。

  • “approxdcp”-近似暗通道先验法[1].该技术在计算暗通道时使用逐像素和空间块,而不使用四叉树分解。

有关更多信息,请参见算法

数据类型:字符|字符串

将作为雾霾处理的最大值,对于RGB图像指定为1乘3的数字向量,对于灰度图像指定为数字标量。取值范围必须为[0,1]。大气光值大于0.5往往能得到更好的结果。

如果不指定AtmosphericLight,然后imreduzehaze函数根据的值估计值方法

数据类型:

对比度增强技术,具体称为“全球”“提升”,或“没有”

数据类型:字符|字符串

用于后处理的每像素增益的数量,指定为范围(0,1)中的正数。只有当ContrastEnhancement指定为“提升”

数据类型:

输出参数

全部折叠

去雾图像,作为与输入的雾图像相同大小的数字数组返回

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

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

算法

该模型用来描述朦胧的图像

I(x) = J(x)T(x) + L(1-T(x))
为观测到的强度,J是景色的光辉,l大气是光的吗T是一种传输图,描述到达相机的光的部分。

去雾算法恢复场景亮度(去雾图像)J从透射图和大气光的估计根据:

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

imreducehaze使用两种不同的去雾算法,simpledcp而且approxdcp.这些方法都依赖于暗通道先验,这是基于对室外场景的非雾霾图像的观察,通常包含一些像素在一个或多个颜色通道中有低信号。这些方法的不同之处在于它们如何估计暗通道先验光和大气光。

除雾算法imreducehaze以下五个步骤:

  1. 估算大气光l使用暗通道先验。

  2. 估计传输图T

  3. 细化估计的传输图。

  4. 恢复映像。

  5. 执行可选的对比度增强。

参考文献

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

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

扩展功能

版本历史

在R2017b中引入

全部展开

Baidu
map