scipy.ndimage.gaussian_laplace中出现意外结果。二维处理不当

时间:2019-06-05 15:00:20

标签: python image-processing scipy

我正在尝试使用gaussian_laplace过滤器来处理python中的图像,但是我不知道如何指定内核。如果没有这些,我认为分析将无法正常工作。

我已经查看了标准文档(https://docs.scipy.org/doc/scipy-0.16.1/reference/generated/scipy.ndimage.filters.gaussian_laplace.html),但是它并没有说明指定内核

请考虑以下8位灰度TIF图像:

https://imgur.com/nbfxWjB

如果我将其导入python并以sigma 4对其运行gaussian_laplace过滤器,则会得到以下结果:

from PIL import Image
from scipy.ndimage import gaussian_laplace
import numpy as np

file_path='White Spot.tif'
image_array=np.array(Image.open(file_path))
transformed=gaussian_laplace(image_array,4)
im = Image.fromarray(transformed)
im.save('transformed.TIF')

https://imgur.com/3mhpXI3

您会注意到一些事情,在两个方向上均未均匀检测到边缘。圆的左侧和右侧看起来与顶部和底部不同。这不是预期的,因为这应该是二维分析。因此,如果在分析之前先对图像进行转置,然后再转置到原始位置,则它应该看起来相同。但显然不是:

https://imgur.com/neZPDIM

对于典型的gaussian_laplace,我需要指定分析所涉及的内核大小。但是,这里似乎没有这样的值。也许如果我弄清楚如何指定内核,那么我就能弄清楚为什么分析在不同方向上会有所不同?

我希望这种分析应该能够对圆输入进行边缘检测。可以理解的是,我会在圆的右上,左上,左下和右下部分看到伪像,但在我所见的圆的顶部和底部看不到。

感谢您的帮助!

0 个答案:

没有答案