Numpy,过滤器行是否使用1,0值的掩码?
Opencv有时会返回一个用于过滤的掩码 给出数组Numpy,过滤器行是否使用1,0值的掩码?,numpy,Numpy,Opencv有时会返回一个用于过滤的掩码 给出数组A=[[1,2],[3,4],[5,6]] 和掩码mask=[1,0,1] 我应该如何应用掩码来获得[[1,2],[5,6]] 我试过A[mask==1]但它说维度不匹配 np.where和np.nonzero似乎也不起作用 编辑: 结果是,A[mask==1]有效, 在我面对的真实情况中,mask.shape是(n,1),但不是(n,) 那额外的1导致了麻烦。 挤压解决了这个问题像这样吗 A = np.array([[1,2],[3,4],[5
A=[[1,2],[3,4],[5,6]]
和掩码mask=[1,0,1]
我应该如何应用掩码来获得[[1,2],[5,6]]
我试过A[mask==1]
但它说维度不匹配
np.where
和np.nonzero
似乎也不起作用
编辑:
结果是,A[mask==1]
有效,在我面对的真实情况中,
mask.shape
是(n,1)
,但不是(n,)
那额外的1导致了麻烦。
挤压解决了这个问题像这样吗
A = np.array([[1,2],[3,4],[5,6]])
mask = np.array[1,0,1])
>>> A[np.where(mask==1),:]
array([[[1, 2],
[5, 6]]])
两者
mask=mask.nonzero()
res=一个[面具]
及
mask=mask.astype(bool)
res=一个[面具]
应该有用 你能解释一下你所说的“这是真实情况…”的意思吗?还有,我的答案正确吗?我实际得到的面具像[[1,0,1]],但不是[1,0,1],这导致了问题。感谢您听到
np.squence()
解决了这个问题!当然,您也可以使用.flant()
或np.ravel()
。