【发布时间】:2017-08-10 20:58:26
【问题描述】:
我有一个 256×256 像素的 2D 蒙版,像素值为 0 或 255,以及匹配的灰度图像。两者都有形状 (256, 256)。
我想在灰度图像上应用蒙版,因此生成的图像仅包含原始灰度图像中的像素,其中对应的蒙版值为 255(应保留原始灰度像素值)。
我无法使用
img_clean = img_grayscale[mask]
因为它为数组添加了一个新维度(如 numpy 的文档中所述)。
我该如何解决这个问题?
【问题讨论】:
-
only contains pixels from the original grayscale image是什么意思? -
生成的图像应该是原始图像的副本,除了对于原始图像中在掩码中具有相应
0的像素 - 对于这些像素,结果图像值应为0 -
在这种情况下按位 AND 应该可以工作:
img_clean = img_grayscale & mask -
是的,完美,如果你把它作为答案,我会选择它,谢谢
-
好主意,但如果掩码的值 != 255 也可以。我不确定这是否可以。