Получить ненулевые индексы от Mat OpenCV - PullRequest
5 голосов
/ 08 июня 2011

У меня есть двоичная матрица, и я хотел бы получить индексы ненулевых элементов, предпочтительно в виде вектора cv :: Points.Есть функция, которая считает ненулевые элементы, но это не то, что мне нужно.

В Matlab эквивалентный вызов будет просто find ().

Я мог бы искать по всей матрице и сохранять индексы, но это не классно!

1 Ответ

2 голосов
/ 08 июня 2011

Если вы не возражаете против использования модуля numpy, см. NumPy Для пользователей Matlab .Существует функция nonzero, которая эквивалентна Matlab find.

>>> m = cv.CreateMat(2,2,cv.CV_16SC1)
>>> a = numpy.asarray(m)
>>> a.nonzero()
(array([1, 1]), array([0, 1]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...