用于图像的高斯滤波的最佳sigma?

Ton*_*ark 11 parameters image-processing gaussian filter

当将高斯模糊应用于图像时,通常西格玛是参数(示例包括Matlab和ImageJ).

怎么知道sigma应该是什么?有没有数学方法来找出最佳sigma?就我而言,我在图像中有一些与背景相比明亮的对象,我需要在计算上找到它们.我将应用高斯滤波器使这些物体的中心更加明亮,这有助于找到它们.如何确定最佳sigma?

tza*_*man 16

没有公式可以为你确定; 最佳西格玛将取决于图像因素 - 主要是图像的分辨率和其中对象的大小(以像素为单位).

另外,请注意高斯滤波器实际上并不意味着提亮任何东西; 您可能希望研究对比度最大化技术 - 听起来就像直方图拉伸这样简单的事情可以很好地适合您.

编辑:更多解释 - sigma基本上控制你的内核函数将如何"胖"; 较高的西格玛值在较宽的半径范围内模糊.由于您正在处理图像,因此较大的sigma也会迫使您使用更大的内核矩阵来捕获足够的函数能量.对于您的特定情况,您希望您的内核足够大以覆盖大部分对象(以便它足够模糊),但不要太大以至于它一次开始重叠多个相邻对象 - 实际上,对象分离也是一个因素和大小.

既然你提到了MATLAB - 你可以使用fspecial('gaussian', hsize, sigma)函数来看看具有不同参数的各种高斯内核,其中hsize是内核的大小,而且sigma是sigma.尝试更改参数以查看其更改方式.

  • @hatorade:是的 - 从本质上讲,FWHM 是衡量函数本身“传播”的一种方法;所以对于更高的 sigma 它会更大。例如,您可以使用它来帮助确定给定内核的矩阵大小_应该_有多大。虽然在某种意义上你可以分别选择维度和 sigma,但实际上维度必须与 sigma 相关联才能有意义 - 它需要足够大以保持曲线的形状;如果你把它截断太多,它就不再是高斯模糊,或多或少会变成一个简单的平均滤波器。 (2认同)

Ope*_*r77 10

我使用这个约定作为经验法则。如果k是内核的大小比sigma=(k-1)/6。这是因为高斯 pdf 的99%的长度是6sigma

  • 这是正确的,但我建议采用相反的方法:首先确定最佳西格玛,然后找到内核的大小,使其包含 6 西格玛。这是因为内核大小是一个离散量(以 2 为步长递增,而 sigma 是一个连续变量,因此可以更精细地调整。`k=2*ceil(3*sigma)+1`。 (12认同)