使用 2d numpy 掩码 np.where 来寻址 3d numpy 数组(pythonic??)

Using 2d numpy mask np.where to address a 3d numpy array (pythonic??)

假设我有一个图像数组:

raster.shape => (3,100,100)

我生成了红色饱和的所有地方的蒙版:

mask = np.where(raster[0,:,:] == 255)

我想修改那些位置的切片...我可以这样做:

raster[:,mask[0],mask[1]] = 0

是否有更 pythonic 的方式...或者这是最好的选择?

我会直接使用面膜,例如

raster[:, raster[0] == 255] = 0

这应该和你写的一样。