我有一个图像,其中有一个丢失的部分,我知道该颜色已涂成绿色(第一个图像)。生成另一个“ bool ”图像的最Python方法是什么,该图像在缺失的部分显示白色,在缺失的部分显示黑色(第二幅图像)?
是否可以不使用for循环而仅使用数组切片来做到这一点?
我的图像是一个形状为[height, width, 3]
的numpy数组。我希望下面的代码分配一个二维 bool 数组,该数组显示每个像素的值是否为绿色([0, 255, 0]
)。
mask = image[:, :] == [0, 255, 0]
但是,它返回与图像形状相同的数组(
[height, width, 3]
),显示像素的红色,绿色或蓝色值分别是0、255还是0。我是否可以在某种程度上使用any()
或all()
方法?
最佳答案
您在这里有正确的想法。使用的是numpy的alltrue
:mask = np.alltrue(image == [0, 255, 0], axis=2)
关于python - 根据像素的颜色生成RGB图像的 bool 蒙版的最有效的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59866085/