我有一个问题,我需要检测图像的局部最大值。我使用ndimag.maximum_filter来检测局部最大值。下面是一个示例代码:
image = np.array([1,0,6,1,8,9,6,4])
neigh = [1,0,1]
filtered_image = ndimage.maximum_filter(image, footprint=neigh, mode='constant', cval=np.inf)
print(f"filtered_image: {filtered_image}")
该代码在图像上应用大小为3的1D滤镜。这段代码给出了以下结果:
filtered_image:[0 6 1 8 9 8 9 6]
数组的第一个元素是0,通常它应该是np.inf。我不知道为什么会这样。
1条答案
按热度按时间ttygqcqt1#
这是一个小错误,
int
图像与cval=inf
(
np.array
->int
或float
或...,取决于arg的类型)