如何选择高斯核的拉普拉斯算子大小以快速过滤图像?

信息处理 图像处理 过滤器 过滤器设计
2022-01-31 19:30:09

我正在使用拉普拉斯高斯 (LoG) 内核过滤图像。内核尺寸与图像相同。过滤操作需要很长时间才能完成。如何在保持保真度的同时加快速度?

LoG 核不像高斯核那样是可分离的。因此,我无法通过连续使用 2 个向量过滤图像来加快速度。唯一的其他选择是调整内核大小以摆脱外部无关紧要的乘数。在选择 LoG 内核的大小时是否有经验法则(考虑图像大小和 LoG 的标准差)?

我正在使用这张图片(633x900):在此处输入图像描述

在 matlab 中使用 Gaussian 与 LoG 进行过滤,在相同的内核大小下给出了截然不同的时间:

>> I = imread('PICTURE.jpg');

>> tic;imfilter(double(I), fspecial('gaussian', [633,900], 50)); toc
Elapsed time is 1.129423 seconds.

>> tic;imfilter(double(I), fspecial('log', [633,900], 50)); toc
Elapsed time is 253.447840 seconds.

我刚开始使用图像处理,所以如果我错过了一些明显的东西,请原谅。谢谢!

2个回答

您可以使用高斯差来近似 LoG。应用 2 个具有不同 sigma 的高斯(可分离)。(据我所知,sigma ratio 1.1)并取其差异。

对于许多图像处理应用程序,不需要精确的高斯拉普拉斯 (LoG) 算子。因此,您也可以使用更快的近似版本,例如使用可分离性和因式分解的 快速卷积与 Laplacian-of-Gaussian Masks(IEEE Transactions on Pattern Analysis and Machine Intelligence,1987):

我们提出了一种使用 LoG(拉普拉斯高斯)掩模计算图像卷积的技术。众所周知,方差 a 的 LoG 可以分解为高斯掩码和方差的 LoG 。我们在计算中利用了这些滤波器的特定光谱特性:LoG 是带通滤波器;因此,我们可以在不丢失信息的情况下折叠图像的光谱(经过低通滤波),这相当于降低了分辨率。我们对所涉及的参数进行了完整的评估,并进行了复杂性分析,得出了一个矛盾的结果,即当 σ 增加时计算时间会减少。我们在两个图像上说明了该方法。σ1<σ

相关问题: