PIL和opencv显示与同一张图片不同的图片背景

时间:2019-12-28 05:10:36

标签: opencv python-imaging-library

我有以下图片:

original images 我尝试将它们绘制在Google colab上。 通过使用PIL:


    from PIL import Image
    import matplotlib.pyplot as plt

    img = Image.open('hiclipart.com(1).png')
    plt.imshow(img)

并使用opencv:

import cv2
import matplotlib.pyplot as plt

img = cv2.imread("hiclipart.com(1).png")
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img)

但是opencv给了我黑色背景的图像,而PIL给了我白色背景。 这是怎么回事?

1 个答案:

答案 0 :(得分:1)

使用 OpenCV 打开图像时,没有指定任何标志,这意味着将获得3通道,8位BGR。

但是,您的图片具有第四个alpha通道,除非您使用以下通道,否则您将其丢弃:

img = cv2.imread("path", cv2.IMREAD_UNCHANGED)