Code/파이썬

[파이썬]Opencv Mat 를 PIL image 포맷으로 변환하기 및 PIL image -> Opencv Mat

마메프 2021. 6. 10. 10:56
반응형

Pillow(PIL)은 이미지를 불러올때, RGB 순서를 사용하고 OpenCV는 BGR 순서을 사용한다는 점을 알고 있자.

또한 파이썬에서 openCV Mat 은 numpy.ndarray 형식을 띈다.

 

To convert from PIL image to OpenCV use:

import cv2
import numpy as np
from PIL import Image

pil_src =Image.open("test.jpg") # open image using PIL

# use numpy to convert the pil_image into a numpy array
numpy_src=numpy.array(pil_src)  

# convert to a openCV2 image, notice the COLOR_RGB2BGR which means that 
# the color is converted from RGB to BGR format
opencv_image=cv2.cvtColor(numpy_src, cv2.COLOR_RGB2BGR) 

 

 

To convert from OpenCV image to PIL image use:

import cv2
import numpy as np
from PIL import Image

opencv_src=cv2.imread("test.jpg") # open image using openCV2

# convert from openCV2 to PIL. Notice the COLOR_BGR2RGB which means that 
# the color is converted from BGR to RGB
color_cvt = cv2.cvtColor(opencv_src, cv2.COLOR_BGR2RGB)
pil_src=Image.fromarray(color_cvt)

 

반응형