본문 바로가기

Python

OpenCV Mat 한글 출력(PIL 사용)

728x90
import numpy as np
from PIL import ImageFont, ImageDraw, Image
import cv2

# cv2 Mat 타입 사용
img = cv2.imread("./Lenna.png")

# cv2 -> PIL 이미지로 변경
color_coverted = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
img_pil=Image.fromarray(color_coverted)

# PIL 이미지에 한글 입력
draw = ImageDraw.Draw(img_pil)
draw.text((10, 10),  "안녕하세요!", font=ImageFont.truetype("./malgun.ttf", 48), fill=(255,255,255))

# PIL 이미지 -> cv2 Mat 타입으로 변경
numpy_img = np.array(img_pil)
cv_img = cv2.cvtColor(numpy_img, cv2.COLOR_RGB2BGR)

# 변경된 cv2 Mat 타입 출력
cv2.imshow("test", cv_img)
cv2.waitKey()

 

실행 결과