【发布时间】:2020-03-28 07:55:27
【问题描述】:
我有一个图像及其对应的 cob 掩码作为 numpy 数组:
图像 numpy 数组的形状为 (332, 107, 3)。
掩码是布尔值(由 True/False 组成),并且此形状为二进制 (332, 107)。
[[False False False ... False False False]
[False False False ... False False False]
[False False False ... False False False]
...
[False False False ... False False False]
[False False False ... False False False]
[False False False ... False False False]]
如何获取cob的彩色像素(蒙版所在的彩色图像中的所有像素)?
【问题讨论】:
-
你试过什么?一个简单的条件应该做到这一点,如果测试通过,则测试掩码的颜色,添加图像中的像素。
-
img[mask[..., None]]? -
我是编程新手。我尝试将不在掩码中的图像的所有像素设置为 0: img[mask==False]=0 但这不起作用。你的意思是我应该遍历数组中的每个元素?
-
如果我使用 img[mask[..., None]] 我得到这个错误:IndexError: boolean index did not match indexed array along dimension 2;维度为 3,但对应的布尔维度为 1
-
我认为你想要
cob = img * mask,因为False的计算结果为零。