主要内容

imreducehaze

减少大气霾雾

描述

例子

JTl) = imreducehaze ()减少彩色或灰度图像中的大气雾霾.函数返回去模糊的图像J,估计T和估算的大气光l

___) = imreducehaze ()另外指定要移除的雾霾的数量。

例子

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

例子

全部折叠

在工作区中读取模糊的图像。

一个= imread (“foggysf1.jpg”);

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

B = imreducehaze(一个);蒙太奇({B})标题(“模糊图像(左)vs.缩小的模糊图像(右)”)

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

在工作区中读取模糊的图像。

一个= imread (“foggysf2.jpg”);

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

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

显示在蒙太奇原始模糊图像和图像与减少雾霾。

蒙太奇({B})

图中包含一个轴对象。axis对象包含一个image类型的对象。

读取并显示模糊图像。

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

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

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

[~ T] = imreducehaze(一个);

显示雾霾厚度测量。

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

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

霾厚度T提供了深度的大致近似值D定义为未知的倍增因子。添加每股收益为了避免日志(0)

D =日志(1 - t + eps);

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

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

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

输入参数

全部折叠

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

数据类型:||uint8|uint16

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

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

名称-值参数

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

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

用来减少雾度的技术,指定为逗号分隔对组成“方法”其中一个价值观是:

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

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

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

数据类型:字符|字符串

最大值被视为雾,指定为逗号分隔对组成“AtmosphericLight”以及1乘3的数字矢量用于RGB图像或数字标量用于灰度图像。值必须在[0,1]范围内。大气光值大于0.5会给出更好的结果。

如果没有指定AtmosphericLight,那么imreduzehaze函数根据的值估计一个值“方法”

数据类型:

对比度增强技术,指定为逗号分隔对组成“ContrastEnhancement”“全球”“提升”,或“没有”

数据类型:字符|字符串

作为后处理应用的逐像素增益量,指定为逗号分隔对,由“BoostAmount”和一个范围为(0,1)的正数。只有当金宝appContrastEnhancement被指定为“提升”

数据类型:

输出参数

全部折叠

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

在每个像素上估计的雾厚,作为一个数字数组返回。

估算的大气光,以数字数组返回。l表示最亮的非镜面霾值。

算法

描述模糊图像的模型

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

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

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

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

中的去雾算法imreducehaze遵循五个步骤:

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

  2. 估计传输图T

  3. 改进估计的传输地图。

  4. 恢复图像。

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

参考文献

他[1],开明。“使用暗通道先验去除单幅图像的雾霾。”毕业论文,香港中文大学.2011.

杜博克等。基于图像熵和信息保真度的单幅图像去雾ICIP.2014年,页4037 - 4041。

介绍了R2017b