-1

我正在使用 opencv/python 进行运动检测项目。我已经达到了创建图像位图/数组的地步,其中检测到的运动由数组中的 1 表示,0 表示没有运动(通过在短暂的延迟后从视频馈送中减去一张图片)。我希望通过使用 Numpy 的(或 opencv 的)kmeans 算法来确定我的移动目标(可能超过 1 个)。但是,这些算法需要输入要使用的 x,y 坐标数组。将二维图像位图数组转换为 xy 坐标数组的最快和最有效的方法是什么?(即我们在这里谈论图像处理,因此不希望使用慢速 Python 代码)。

4

1 回答 1

3

Numpynonzero会这样做:

这是文档中的一个示例:

>>> x = np.eye(3)
>>> x
array([[ 1.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  1.]])
>>> np.nonzero(x)
(array([0, 1, 2]), array([0, 1, 2]))

也就是说,输出是数组中非零元素的索引。

于 2013-01-14T01:16:59.197 回答