【发布时间】:2020-08-02 03:28:36
【问题描述】:
我想使用高斯滤波器对图像进行降噪。我希望它是 5x5 窗口和 sigma=1.4 。我注意到 scipy 中的高斯滤波器不允许您定义窗口大小。有没有其他选择或者我错过了 scipy 库中的某些内容?
【问题讨论】:
标签: python image-processing computer-vision gaussianblur anaconda3
我想使用高斯滤波器对图像进行降噪。我希望它是 5x5 窗口和 sigma=1.4 。我注意到 scipy 中的高斯滤波器不允许您定义窗口大小。有没有其他选择或者我错过了 scipy 库中的某些内容?
【问题讨论】:
标签: python image-processing computer-vision gaussianblur anaconda3
您可以使用 open-cv python 作为替代方案。
import cv2
filtered_img = cv2.GaussianBlur(img, (5, 5), 1.4)
【讨论】:
如果您引用scipy.ndimage.gaussian_filter,它有一个truncation 参数。将其设置为 1.4 很可能会将 sigma 1.4 的高斯截断为 5x5 滤波器。
文档没有指定如何计算过滤器大小,但通常的方法是2*ceil(sigma*truncation)+1。我还看到使用round 而不是ceil。在任一情况下,
截断 1.4 会导致 5。
【讨论】: