在显示中使用2D遮罩错误遮罩BGR图像

时间:2019-05-09 14:02:57

标签: python matplotlib

我正在尝试使用python中的2D蒙版对彩色图像进行蒙版。我尝试了Masking BGR image using a 2D mask答案中给出的解决方案,但未显示出预期的结果。

我已经从以前的答案中尝试过此代码:

mask = np.zeros_like(image)

# copy your image_mask to all dimensions (i.e. colors) of your image
for i in range(3):
    mask[:,:,i] = image_mask.copy()

masked_image = image[mask]

其中图像的形状为(522、775、3),而image_mask的形状为(522、775),值为0或1。

masked_image.shape 

正在输出(522、775、3、775、3),因此图像不显示。

预期的结果是在蒙版也是0的地方蒙版图像也为0。相反,我在生成的masked_image中得到了一个奇怪的形状,无法理解原因。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

如果将图像与蒙版相乘会发生什么?

mask = np.zeros_like(image)

# copy your image_mask to all dimensions (i.e. colors) of your image
for i in range(3):
    mask[:,:,i] = image_mask.copy()

masked_image = image * mask