在numpy数组中设置布尔索引
我有形状为m,n,3的numpy数组和形状为m,n的mask。当我尝试将[mask>0]=255,0,0设置为0时,我得到一个错误在numpy数组中设置布尔索引,numpy,indexing,Numpy,Indexing,我有形状为m,n,3的numpy数组和形状为m,n的mask。当我尝试将[mask>0]=255,0,0设置为0时,我得到一个错误 ValueError: NumPy boolean array indexing assignment cannot assign 3 input values to the 7401 output values where the mask is true` 如何在numpy中实现此功能?请尝试我无法重现您看到的问题。对不起,我的错误。我用m,n,3形状的面具做
ValueError: NumPy boolean array indexing assignment cannot assign 3 input values to the 7401 output values where the mask is true`
如何在numpy中实现此功能?请尝试我无法重现您看到的问题。对不起,我的错误。我用m,n,3形状的面具做索引
a = np.random.randint(0,2,size=(100,200,3))
mask = np.random.randint(0,2,size=(100,200))
a[mask > 0] = [255,0,0]
# Test
assert np.equal(a[mask > 0],
np.ones_like(a[mask > 0])*[255,0,0]).sum() == np.multiply(*a[mask > 0].shape)