Numpy数组坐标在集合中

0 投票
1 回答
832 浏览
提问于 2025-04-18 05:28

我正在使用 Python 2.7.5 的 OpenCV 库处理图像。我通过以下代码实现了一个滑动窗口:

subImage = image[yStart:yEnd, xStart:xEnd]

在这里,image 是完整的灰度图像,yStart 是窗口开始的 y 坐标,yEnd 是窗口结束的 y 坐标,xStart 是窗口开始的 x 坐标,xEnd 是窗口结束的 x 坐标。subImage 是根据这些坐标裁剪出来的图像部分,也就是窗口内的内容。

我想做的是将这个 subImage 中所有高于某个阈值的坐标添加到一个 Python 集合中,这个集合用来存储已经见过的坐标。我该怎么做呢?任何帮助都非常感谢。

1 个回答

2

我对OpenCV不太了解,但如果用简单的NumPy来做,我会这样写。

mask = np.zeros(image.shape, dtype=np.bool)
mask[yStart:yEnd, xStart:xEnd] = True
mask &= image > threshold
coords = np.where(mask)

根据你的应用需求,你可能希望你的坐标格式是这样的:

coords = zip(*coords)

撰写回答