📜  在Python中将 OpenCV 图像转换为 PIL 图像(1)

📅  最后修改于: 2023-12-03 15:37:38.212000             🧑  作者: Mango

在Python中,使用OpenCV库可以进行图像处理和计算机视觉方面的开发,而使用PIL库则可以方便地进行图像的读取、处理和保存。在某些场景下需要将OpenCV图像转换为PIL图像,下面给出一种实现方法。

首先需要导入OpenCV和PIL库:

import cv2
from PIL import Image

接着,读取OpenCV图像并使用numpy数组表示:

opencv_img = cv2.imread('image.jpg')

接下来将图像从BGR色彩空间转换为RGB色彩空间,因为PIL库中使用的是RGB色彩空间:

opencv_img = cv2.cvtColor(opencv_img, cv2.COLOR_BGR2RGB)

然后再将numpy数组转换为PIL图像:

pil_img = Image.fromarray(opencv_img)

至此,已经将OpenCV图像成功地转换为了PIL图像。

完整代码如下:

import cv2
from PIL import Image

opencv_img = cv2.imread('image.jpg')
opencv_img = cv2.cvtColor(opencv_img, cv2.COLOR_BGR2RGB)
pil_img = Image.fromarray(opencv_img)

需要注意的是,在OpenCV图像与PIL图像之间的转换中,可能会出现图像格式不支持的问题,需要根据实际情况进行调整。