从Mat OpenCV获得非零指数

时间:2011-06-08 02:11:42

标签: vector opencv indexing find

我有一个二进制矩阵,想得到非零元素的索引,最好是cv :: Points的向量。有一个函数可以计算非零元素,但这不是我需要的。

在Matlab中,等效调用只是 find ()。

我可以搜索整个矩阵并保存索引,但这不是优雅的!

1 个答案:

答案 0 :(得分:2)

如果您不介意使用numpy模块,请参阅NumPy For Matlab Users。有nonzero函数与matlab find等效。

>>> m = cv.CreateMat(2,2,cv.CV_16SC1)
>>> a = numpy.asarray(m)
>>> a.nonzero()
(array([1, 1]), array([0, 1]))