numpy,过滤器行使用1,0值的掩码吗?

Opencv有时会返回用于过滤的掩码。

提供数组A=[[1,2],[3,4],[5,6]]

并屏蔽mask=[1,1]

我应该如何使用遮罩获得[[1,6]]

我尝试了A[mask==1],但是它说尺寸不匹配。

np.wherenp.nonzero似乎也不起作用。

编辑:

结果证明A[mask==1]有用,
在实际情况中,我遇到的是mask.shape(n,1)而不是(n,)
那多余的1造成了麻烦。
np.squeeze解决了问题

weishuai7894 回答:numpy,过滤器行使用1,0值的掩码吗?

喜欢吗?

A = np.array([[1,2],[3,4],[5,6]])
mask = np.array[1,1])
>>> A[np.where(mask==1),:]
array([[[1,6]]])
,

两者

mask = mask.nonzero()
res = A[mask]

mask = mask.astype(bool)
res = A[mask]

应该工作!

本文链接:https://www.f2er.com/3159655.html

大家都在问