In [1]:
from Custom.mediahelper import show_image_with_pil # 개발자 정의 모듈
4. 텍스트¶
OpenCV 에서 사용하는 글꼴 종류¶
- cv2.FONT_HERSHEY_SIMPLEX : 보통 크기의 산 세리프(sans-serif) 글꼴
- cv2.FONT_HERSHEY_PLAIN : 작은 크기의 산 세리프 글꼴
- cv2.FONT_HERSHEY_SCRIPT_SIMPLEX : 필기체 스타일 글꼴
- cv2.FONT_HERSHEY_TRIPLEX : 보통 크기의 세리프 글꼴
- cv2.FONT_ITALIC : 기울임 (이태릭체)
In [2]:
import cv2
import numpy as np
img = np.zeros((480,640,3), dtype = np.uint8)
COLOR = (255, 255, 255)
THICKNESS = 2 # 굵기
SCALE = 1 # 크기
cv2.putText(img, "Hello World", (20, 50), cv2.FONT_HERSHEY_SIMPLEX, SCALE, COLOR, THICKNESS)
cv2.putText(img, "Hello World", (70, 100), cv2.FONT_HERSHEY_PLAIN, SCALE, COLOR, THICKNESS)
cv2.putText(img, "Hello World", (120, 150), cv2.FONT_HERSHEY_SCRIPT_SIMPLEX, SCALE, COLOR, THICKNESS)
cv2.putText(img, "Hello World", (170, 200), cv2.FONT_HERSHEY_TRIPLEX, SCALE, COLOR, THICKNESS)
cv2.putText(img, "Hello World", (220, 250), cv2.FONT_HERSHEY_TRIPLEX | cv2.FONT_ITALIC, SCALE, COLOR, THICKNESS)
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
show_image_with_pil(img, 'img')
'img'
한글 작성 시 문제점 -> '???' 로 표출됨¶
In [3]:
import cv2
import numpy as np
img = np.zeros((480,640,3), dtype = np.uint8)
COLOR = (255, 255, 255)
THICKNESS = 1
SCALE = 1
cv2.putText(img, "헬로 월드", (240, 220), cv2.FONT_HERSHEY_SIMPLEX, SCALE, COLOR, THICKNESS)
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
show_image_with_pil(img, 'img')
'img'
한글 우회 방법¶
In [4]:
import cv2
import numpy as np
#PIL (Python Image Libraray)
from PIL import ImageFont, ImageDraw, Image
def myPutText(src, text, pos, font_size, font_color):
img_pil = Image.fromarray(src)
draw = ImageDraw.Draw(img_pil)
font = ImageFont.truetype('fonts/gulim.ttc', font_size)
draw.text(pos, text, font=font, fill=font_color)
return np.array(img_pil)
img = np.zeros((480,640,3), dtype = np.uint8)
COLOR = (255, 255, 255)
FONT_SIZE = 30 # 글자 크기
cv2.putText(img, "헬로 월드", (240, 120), cv2.FONT_HERSHEY_SIMPLEX, SCALE, COLOR, THICKNESS) # '???' 로 표출
img = myPutText(img, '헬로 월드', (240, 220), FONT_SIZE, COLOR) # 한글 정상 표출
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
show_image_with_pil(img, 'img')
'img'
'Python > OpenCV' 카테고리의 다른 글
07. 이미지 자르기 (0) | 2024.11.18 |
---|---|
05. 파일 저장 (0) | 2024.11.18 |
03. 도형 그리기 (0) | 2024.11.18 |
02. 동영상 출력 (0) | 2024.11.18 |
01. 이미지 생성 (0) | 2024.11.18 |