主要内容

locallapfilt

图像的快速局部拉普拉斯滤波

描述

例子

B= locallapfilt (σα过滤灰度或RGB图像用边缘感知,快速的局部拉普拉斯滤波器。σ中边缘幅值的特征α控制细节的平滑。

B= locallapfilt (σαβ使用以下方法对图像进行过滤β控制的动态范围一个

例子

B= locallapfilt (___名称,值使用名称-值对控制筛选器的高级方面。

例子

全部折叠

导入RGB图像

一个= imread (“peppers.png”);

设置过滤器的参数,增加小于0.4的细节。

σ= 0.4;α= 0.5;

使用快速局部拉普拉斯滤波

B = locallapfilt(A, sigma, alpha);

显示原始和过滤图像并排。

imshowpair (A, B,“蒙太奇”

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

局部拉普拉斯滤波是一种计算密集型算法。为了加快处理速度,locallapfilt通过将强度范围离散到由“NumIntensityLevels的参数。这个参数可以用来平衡速度和质量。

导入RGB图像并显示。

一个= imread (“peppers.png”);图imshow (A)标题(原始图像的

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

使用一个σ价值处理的细节和一个α值来增强对比度,有效增强图像的局部对比度。

σ= 0.2;α= 0.3;

使用较少的示例可以提高执行速度,但可以产生可见的工件,特别是在对比度较低的区域。计时功能只使用20个强度级别。

t_speed = timeit(@() locallapfilt(A, sigma, alpha,“NumIntensityLevels”, 20))
t_speed = 0.1473

现在,处理图像并显示出来。

B_speed = locallapfilt(A, sigma, alpha,“NumIntensityLevels”, 20);图imshow (B_speed)标题([“增强20级强度”num2str (t_speed)“秒”])

图中包含一个轴对象。标题为“在0.14726秒内增强20强度等级”的轴对象包含一个类型为image的对象。

大量的样本产生更好的外观结果,但代价是更多的处理时间。使用100个强度等级计时功能。

t_quality = timeit(@() locallapfilt(A, sigma, alpha,))“NumIntensityLevels”, 100))
t_quality = 0.6715

用100个强度等级处理图像并显示:

B_quality = localapfilt (A, sigma, alpha,“NumIntensityLevels”, 100);图imshow (B_quality)标题([“在100个强度级别的增强”num2str (t_quality)“秒”])

图中包含一个轴对象。在0.67149秒内增强100强度等级的轴对象包含一个类型为image的对象。

尝试在你自己的图像上改变强度级别的数量。试着降低对比度α> 1).你会看到,每个图像的最佳强度级别的数量是不同的,并随α.默认情况下,locallapfilt使用启发式来平衡速度和质量,但它不能预测每个图像的最佳值。

导入彩色图像,缩小尺寸并显示。

一个= imread (“car2.jpg”);A = imresize(A, 0.25);图imshow (A)标题(原始图像的

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

设置过滤器的参数以显著增加小于0.3的细节(从0到1的标准化范围)。

σ= 0.3;α= 0.1;

让我们来比较两种不同的滤色模式。通过滤除图像的强度和滤除每个颜色通道分别对图像进行处理:

B_luminance = locallapfilt(A, sigma, alpha);B_separate = locallapfilt(A, sigma, alpha,“ColorMode”“独立”);

显示过滤后的图像。

图imshow (B_luminance)标题(“通过提高局部亮度对比度来增强效果”

图中包含一个轴对象。标题为“通过增强局部亮度对比度增强”的轴对象包含一个类型为image的对象。

图imshow (B_separate)标题(“通过增强局部色彩对比来增强效果”

图中包含一个轴对象。标题为“通过增强局部颜色对比度而增强”的axis对象包含一个类型为image的对象。

每个图像都应用了等量的对比度增强,但颜色在设置时更加饱和。ColorMode”到“单独的'.

导入一个图像。将图像转换为浮点数,这样我们可以更容易地添加人工噪声。

一个= imread (“pout.tif”);= im2single ();

加入高斯噪声,均值为零,方差为0.001。

A_noisy = imnoise (,“高斯”, 0, 0.001);psnr_noisy = psnr(A_noisy, A);流(“噪声图像的峰值信噪比为%0.4f\n”, psnr_noisy);
噪声图像的峰值信噪比为30.0234

将细节的振幅设置为平滑,然后设置平滑的数量。

σ= 0.1;α= 4.0;

应用边缘感知滤波器。

B = locallapfilt(A_noisy, sigma, alpha);psnr_denoised = psnr(B, A);流(去噪后图像的峰值信噪比为%0.4f\n', psnr_denoised);
去噪后图像的峰值信噪比为32.2016

注意图像的PSNR的改进。

并排显示所有三个图像。观察细节被平滑,沿边缘的锐度变化没有改变。

图subplot(1,3,1), imshow(A), title(“原始”子图(1,3,2),imshow(A_noisy), title(“吵”)子情节(1,3,3),imshow(B),标题(“去噪”

图中包含3个轴对象。标题为Original的轴对象1包含一个类型为image的对象。标题为noise的轴对象2包含一个类型为image的对象。标题为去噪的轴对象3包含一个类型为image的对象。

导入图像,调整大小并显示它

一个= imread (“car1.jpg”);A = imresize(A, 0.25);图imshow (A)标题(原始图像的

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

这辆车很脏,上面有许多斑痕。我们试着擦掉尸体上的灰尘和痕迹。设置振幅的细节平滑,并设置大量的平滑应用。

σ= 0.2;α= 5.0;

当平滑(α> 1),过滤器产生高质量的结果与少量的强度水平。设置少量的强度级别以更快地处理图像。

numLevels = 16;

应用过滤器。

B = locallapfilt(A, sigma,“NumIntensityLevels”, numLevels);

展示“干净”的汽车。

图imshow (B)标题(“平滑后的细节”

图中包含一个轴对象。标题为After平滑细节的轴对象包含一个类型为image的对象。

输入参数

全部折叠

要过滤的图像,指定为二维灰度图像或二维真彩色图像。

数据类型:|int8|int16|uint8|uint16

边的振幅,指定为非负数。σ对于整数图像和定义在[0,1]范围内的单个图像,应该在[0,1]范围内。对于定义在不同范围内的单一图像[一个b],σ也应该在范围内[一个b].

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

平滑的细节,指定为一个正数。的典型值α在[0.01,10]范围内。

价值 描述
α不到1 增加输入图像的细节,有效增强图像的局部对比度,而不影响边缘或引入晕。
α大于1 平滑输入图像中的细节,同时保持清晰的边缘
α等于1 输入图像的细节保持不变。

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

动态范围,指定为非负数。beta的典型值在[0,5]范围内。β影响的动态范围一个

价值 描述
β不到1 降低了图像中边缘的幅度,在不影响细节的情况下有效压缩了动态范围。
β大于1 扩展图像的动态范围。
β等于1 图像的动态范围保持不变。这是默认值。

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

名称-值参数

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

例子:“ColorMode”、“独立的”

用于过滤RGB图像的方法,指定为以下值之一。该参数对灰度图像没有影响。

价值 描述
“亮度” locallapfilt滤波前将输入的RGB图像转换为灰度,滤波后重新引入颜色,在不影响颜色的情况下改变了输入图像的对比度。
“独立” locallapfilt独立过滤每个颜色通道。

数据类型:字符|字符串

输入图像动态范围内的强度采样数,指定为“汽车”或正整数。样本数量越多,结果越接近于精确的局部拉普拉斯滤波。数值越低,执行速度越快。典型值在范围内[100].如果设置为“汽车”locallapfilt根据过滤器的其他参数自动选择强度等级的数量,以平衡质量和速度。

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

输出参数

全部折叠

过滤后的图像,作为与输入图像大小和数据类型相同的数字数组返回,一个

参考文献

[1] Paris, Sylvain, Samuel W. Hasinoff, Jan Kautz。局部拉普拉斯滤波器:用拉普拉斯金字塔进行边缘感知图像处理ACM反式。图30.4(2011):68。

Aubry, Mathieu等。快速局部拉普拉斯滤波器:理论与应用.计算机图形学学报(TOG) 33.5(2014): 167。

介绍了R2016b