存储为numpy的图像中的XY坐标?

Posted

技术标签:

【中文标题】存储为numpy的图像中的XY坐标?【英文标题】:XY coordinates in a image stored as numpy? 【发布时间】:2015-06-03 14:44:36 【问题描述】:

我有一个 96x96 像素的 numpy 数组,它是一个灰度图像。如何找到并绘制此图像中最大像素强度的 x、y 坐标?

图像 = (96,96)

看起来很简单,但我可以找到任何 sn-p 代码。 请您帮忙:)

【问题讨论】:

numpy.argmax 【参考方案1】:

使用argmax 函数,结合unravel_index 获取行和列索引:

>>> import numpy as np
>>> a = np.random.rand(96,96)
>>> rowind, colind = np.unravel_index(a.argmax(), a.shape)

就绘图而言,如果您只想使用布尔掩码精确定位最大值,那么可以这样做:

>>> import matplotlib.pyplot as plt
>>> plt.imshow(a==a.max())
<matplotlib.image.AxesImage object at 0x3b1eed0>
>>> plt.show()

在这种情况下,您甚至不需要索引。

【讨论】:

但这仍然不能解释如何找到所有具有最大出现值的索引。如何循环播放? @pbu,在我看来,您正试图找到 几个 峰,而不仅仅是一个(正如我从您的问题中了解到的那样)。在这种情况下,您应该查看this thread。那里的答案之一还链接到scipy.signal.find_peaks_cwt。

以上是关于存储为numpy的图像中的XY坐标?的主要内容,如果未能解决你的问题,请参考以下文章

如何在二维 numpy 数组中搜索特定 XY 对的位置?

如何将 Torch 图像切片为 numpy 图像

2-13图像处理之水印和验证码

NumPy 填充大型数组的给定边界框坐标内的值

numpy的shape 和 gt的xy坐标之间容易引起误会

选择图像上的点以检索坐标