Numpy数组坐标在集合中
我正在使用 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)