我想定位单色图像的局部最大值。 该图像是一个numpy.ndarray,其dtype为uint8。
图像有几个点,最大值为255。因此,我打算对位置取平均值,以找到最大值的有效位置。
对于普通的numpy.array,以下代码将有效地返回值为255的元素的位置。
positions = numpy.unravel_index(image.argwhere(), image.shape)
其中image是numpy.array对象。但是在我的代码中,图像是一个numpy.ndarray对象,导致我收到以下错误:
AttributeError: 'numpy.ndarray' object has no attribute 'argwhere'
在numpy.ndarray上有'argwhere'的替代函数吗?
答案 0 :(得分:2)
argwhere
是numpy库的功能,应该像
np.argwhere(image)
无论如何,np.array
不是单独的类型,它只是创建np.ndarray
的另一种方法。
在您喜欢的任何numpy数组变量上尝试type
,它将始终是np.ndarray
。