python - 在显示中使用 2D 掩码错误掩码 BGR 图像
问题描述
我正在尝试在 python 中使用 2D 蒙版来掩盖彩色图像。我已经尝试了使用 2D 蒙版掩蔽 BGR 图像的答案中给出的解决方案,但它没有显示所需的结果。
我已经从以前的答案中尝试过这段代码:
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 中得到了一个奇怪的形状,无法理解为什么。任何帮助将非常感激!
解决方案
如果将图像与蒙版相乘会发生什么?
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