카테고리 없음

OpenCV 와 PIL 의 상호 변환(파이썬)

Wood Pecker 2021. 10. 3. 17:50

1. 개요

유용한 코드는 잘 관리하여 필요할 때 빠르게 검색복사해서 수정하여 사용하면 업무의 효율을 올릴 수 있다. Opencv Image와 PIL Image는 상호 변환이 필요한 경우가 많아서 이곳에 정리하여 올려본다.  

2. 샘플코드

import cv2
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt

def PIL2OpenCV(pil_image):
    numpy_image= np.array(pil_image)
    opencv_image = cv2.cvtColor(numpy_image, cv2.COLOR_RGB2BGR)
    return opencv_image

def OpenCV2PIL(opencv_image):
    color_coverted = cv2.cvtColor(opencv_image, cv2.COLOR_BGR2RGB)
    pil_image = Image.fromarray(color_coverted)
    return pil_image

if __name__ == '__main__':
    pil_image=Image.open("./images/blueangels.jpg")
    opencv_image= PIL2OpenCV(pil_image)
    cv2.imshow('Result', opencv_image)
    if cv2.waitKey(2000) == 27:
        pass

    opencv_image = cv2.imread("./images/blueangels.jpg")
    pil_image = OpenCV2PIL(opencv_image)
    fig, ax = plt.subplots(1, figsize=(12,9))
    plt.title("Result")
    plt.imshow(pil_image)
    plt.show()

반응형