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

15 次查看(过去 30 天)
for image processing, i.e to find first/last array of matching pixels.

回答(2 个)

Jan
Jan 2017-3-7
编辑:Jan 2017-3-7
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 2020-2-1
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!

标签

Community Treasure Hunt

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

Start Hunting!

Translated by