728x90
이미지에 글자 출력하기
이미지에 글자를 넣을 때는 putText() 를 사용합니다.
흰 배경의 이미지를 생성하고 그위에 글자를 넣어봅니다.
"파이썬 OpenCV" 의 한글이 깨지는 것을 볼 수 있습니다.
import numpy as np
import cv2
img = np.full((100, 200, 3), (255, 255, 255), np.uint8)
text = "파이썬 OpenCV"
cv2.putText(img, text, (10, 50), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 0), 1, cv2.LINE_AA)
cv2.imshow("text", img)
cv2.waitKey()
cv2.destroyAllWindows()
한글 출력하기
PIL 을 사용하면 한글출력을 쉽게 할 수 있습니다.
폰트를 지정하고 글자 이미지를 생성하고 넘파이 배열로 변환한 후, OpenCV 로 출력합니다.
import numpy as np
from PIL import ImageFont, ImageDraw, Image
import cv2
font = ImageFont.truetype("fonts/gulim.ttc", 20)
img = np.full((200, 300, 3), (255, 255, 255), np.uint8)
img = Image.fromarray(img)
draw = ImageDraw.Draw(img)
text = "이미지에 한글 출력\n\nhttps://jvvp.tistory.com"
draw.text((30, 50), text, font=font, fill=(0, 0, 0))
img = np.array(img)
cv2.imshow("text", img)
cv2.waitKey()
cv2.destroyAllWindows()
'OpenCV' 카테고리의 다른 글
파이썬 OpenCV 미분 필터링 -1 (0) | 2020.07.25 |
---|---|
파이썬 OpenCV 기하학적 변환 알아보기 -3 : Affine / Perspective Transformation (0) | 2020.07.25 |
파이썬 OpenCV 를 위한 Numpy 정리 (0) | 2020.07.24 |
파이썬 OpenCV 기하학적 변환 알아보기 -2 : 이미지 피라미드 만들기 (0) | 2020.07.24 |
파이썬 OpenCV 기하학적 변환 알아보기 -1 : 확대축소 / 대칭 / 이동 / 회전 (0) | 2020.07.24 |