Borrar filtros
Borrar filtros

Is there an equivalent of MATLAB's find() in opencv or numpy?

15 visualizaciones (últimos 30 días)
Sharad C
Sharad C el 7 de Mzo. de 2017
Respondida: Bill Tubbs el 1 de Feb. de 2020
for image processing, i.e to find first/last array of matching pixels.

Respuestas (2)

Jan
Jan el 7 de Mzo. de 2017
Editada: Jan el 7 de Mzo. de 2017
This is obviously a question for a numpy and opencv forum. But let's see, what an internet search engine finds...
itemindex = numpy.where(array==item)

Bill Tubbs
Bill Tubbs el 1 de Feb. de 2020
I wasn't sure about this but you are correct. They both return indexes. I'll share these examples in case they help someone.
>> x = [1 2 3; 2 3 4];
>> find(x==2)
ans =
2
3
>> x(find(x==2))
ans =
2
2
>> find(x==3)
ans =
4
5
Python:
>>> x = np.array([[1, 2, 3], [2, 3, 4]])
>>> np.where(x == 2)
(array([0, 1]), array([1, 0]))
>>> x[np.where(x == 2)]
array([2, 2])
>>> np.where(x == 3)
(array([0, 1]), array([2, 1]))
Interesting how different indexing is in the two languages!

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by