繁体   English   中英

将2D numpy蒙版应用于灰度图像

[英]Applying a 2D numpy mask to grayscale image

我有一个256×256像素的2D蒙版,其像素值为0或255,以及一个匹配的灰度图像。 两者都有形状(256,256)。

我想在灰度图像上应用蒙版,因此生成的图像仅包含原始灰度图像中的像素,其中相应的蒙版值为255(应保留原始灰度像素值)。

我无法使用

img_clean = img_grayscale[mask]

因为它为数组增加了新的维度(如numpy的文档所述)。

我该如何解决?

只需添加第三个选项并就地修改您的灰度图像:

img_grayscale[mask == 255] = 0

PS:如果您不想就地修改,则只能创建一个副本。

我认为这应该做的

np.where(mask == 255, img_grayscale, 0)

有关文档,请参见https://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html

可以使用按位AND来将像素值设置为0 ,其中mask为0

img_clean = img_grayscale & mask

由于掩码包含0255 ,因此根据您的要求,值可以保持不变或设置为0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM