Python PIL Image 轉換成 OpenCV 影像格式

本篇 ShengYu 介紹 Python PIL Image 轉換成 OpenCV 影像格式的方法。

PIL.Image 轉換 OpenCV 影像格式

opencv 採用的影像排列方式為 BGR,而 PIL 採用的影像排列方式為 RGB,所以這邊要將 PIL image 轉為 opencv 影像格式的話,就需要將影像排列方式從 RGB 轉成 BGR,先用 numpy.asarray() 將 PIL 轉成 numpy.ndarray 格式,再使用的是 opencv 的 cv2.cvtColor() 函式,使用方式如下所示,

pil-image-to-opencv-image.py
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from PIL import Image
import cv2
import numpy

img = Image.open("lena.jpg")
img.show()

img2 = cv2.cvtColor(numpy.asarray(img), cv2.COLOR_RGB2BGR)
cv2.imshow('opencv image', img2)
cv2.waitKey(0)

其它相關文章:Python OpenCV 影像格式轉換成 PIL Image