在图像上应用灰度掩模

2024-04-29 06:34:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图得到一个我拥有的物体的面具。我想裁剪这个物体,然后在黑色背景上拍下来。我尝试了以下代码

image = Image.open("image.png") #RGBA image
mask = Image.open("mask.png") #grayscale mask (not binary have antialising on edges)
temp_img = Image.new("RGBA", car_mask.size,(0,0,0,0))
image_bgrm = Image.composite(image, temp_img, car_mask)
image_bgrm.save("masked.png")

上面的代码运行得很好,但是如果我只是在像这样的原始图像上应用遮罩,我会在对象的边缘上得到黑灰色的衬里,而这是不存在的

image = Image.open("image.png").convert("RGBA") #RGBA image
mask = Image.open("mask.png") #grayscale mask (not binary have antialising on edges)
image_bgrm = image.putalpha(mask)
image_bgrm.save("masked.png")

另外,如果我设置掩码的阈值以获得二进制(0255),则不会出现黑色衬里。我猜这是因为灰度蒙版造成的?那么现在我该怎么做呢?没有在图像上画上黑色的线条?是否有其他方法应用灰度蒙版


Tags: imagepngonhavenotmaskopen物体