如何仅提取图像中被屏蔽的像素? (Python numpy数组运算)
How to extract only the pixels of an image where it is masked? (Python numpy array operation)
我有一个图像及其相应的玉米棒掩码作为 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 的颜色像素(彩色图像中遮罩所在的所有像素)?
感谢M.Setchell的有用评论,我自己找到了答案。
基本上,我必须将蒙版数组 (2D) 的维度扩展到与图像相同的维度(具有 3 个颜色通道的 3D)。
y=np.expand_dims(mask,axis=2)
newmask=np.concatenate((y,y,y),axis=2)
然后我不得不简单地将新蒙版与图像相乘以获得彩色蒙版:
cob= img * newmask
这里只是为了可视化结果:
我有一个图像及其相应的玉米棒掩码作为 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 的颜色像素(彩色图像中遮罩所在的所有像素)?
感谢M.Setchell的有用评论,我自己找到了答案。
基本上,我必须将蒙版数组 (2D) 的维度扩展到与图像相同的维度(具有 3 个颜色通道的 3D)。
y=np.expand_dims(mask,axis=2)
newmask=np.concatenate((y,y,y),axis=2)
然后我不得不简单地将新蒙版与图像相乘以获得彩色蒙版:
cob= img * newmask
这里只是为了可视化结果: