我想使用numpy来查找给定值的数组元素,例如 [2,3,4](例如,这些可能是像素值)。应该很简单,但是我把它扔得太久了,我转向o oracle。
我尝试了np.where和布尔值,但结果是:
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加农炮来制作一只笨蚊子