从Mat OpenCV获取非零索引

5
我有一个二进制矩阵,想要获取非零元素的索引,最好作为cv :: Points向量。有一个函数可以计算非零元素,但这不是我需要的。
在Matlab中,相当于调用find()
我可以搜索整个矩阵并保存索引,但这不够优雅!

4
OpenCV 很少显得高雅。 - Chris Eberle
1个回答

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]))

这是Python。也许我应该删除回答。好吧,使用Python,或者给我的回答点个踩。 - Andrey Sboev
谢谢,我很熟悉numpy(非常优雅),但我已经投入了C ++。 我会给你的答案点赞,但我声望不够! - phil0stine
考虑到目前这可能是唯一“优雅”的方法,因此这应该是被接受的答案。 - twerdster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接