本篇 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()
函式,使用方式如下所示,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)