将PNG PIL图像转换为OpenCV图像会用黑色背景替换透明度

时间:2018-12-11 12:15:22

标签: python-3.x image opencv python-imaging-library

当我尝试将PNG类型的PIL图像转换为OpenCV图像时,PNG处的透明背景会变成黑色背景。如何在OpenCV Image对象中保留透明背景。

这是代码段:

 #PIL包含透明背景png图像的Image对象。
pil_img = Image.open(ioFile).convert('RGBA')
pil_img.show()

#我使用numpy将pil_image转换为numpy数组
numpy_image = np.array(pil_img)

#我转换为openCV2图像,请注意COLOR_RGB2BGR,这意味着
#颜色从RGBA转换为BGR格式
opencvImage = cv2.cvtColor(numpy_image,cv2.COLOR_RGBA2BGRA)
#
#(我在以下几行中进行了注释,以表明我尝试了它们但没有用。)
#
#opencvImage = cv2.cvtColor(numpy_image,cv2.IMREAD_UNCHANGED)
#opencvImage = cv2.cvtColor(numpy_image,cv2.COLOR_RGB2BGR)
showImage(opencvImage)
 

代码段的最后一行显示具有黑色背景的图像。我可能选择了错误的转换方法,并且找不到正确的转换方法。

0 个答案:

没有答案
相关问题