0

我想使用 numpy 来查找给定值的数组元素,例如 [2,3,4](例如,这些可能是像素值)。应该很简单,但它把我扔了足够长的时间,我转向你或神谕。

我尝试了 np.where 和 boolean 但对结果感到困惑:

In [4]: x=np.array([[[2,3,4],[4,5,6]],[[5,6,7],[6,7,8]]])

In [5]: x.shape
Out[5]: (2, 2, 3)

In [6]: np.where(x==[2,3,4])
Out[6]: (array([0, 0, 0]), array([0, 0, 0]), array([0, 1, 2]))

In [7]: [x==[2,3,4]]
Out[7]: 
[array([[[ True,  True,  True],
         [False, False, False]],

        [[False, False, False],
         [False, False, False]]], dtype=bool)]

我知道我能做到

In [14]: import cv2

In [15]: cv2.inRange(x,np.array([2,3,4]),np.array([2,3,4]))
Out[15]: 
array([[255,   0],
       [  0,   0]], dtype=uint8)

但我有点想避免使用 cv2 大炮来对付麻木的蚊子

4

0 回答 0