오답노트
[openCV] 외부 폰트 사용하기 본문
외부 폰트 사용
필요 라이브러리
from PIL import Image, ImageFont, ImageDraw
import cv2
import numpy as np
사용 할 폰트 파일을 불러온다
fnt = ImageFont.truetype(
"path/to/fontfile",
font_size(int), encoding="utf-8"
)
나는 하나의 이미지가 아니라 영상 내의 프레임에 폰트를 입혀야 했기 때문에 함수화를 시켜 반복 작업을 수행한다
def text_define(frame, text, x, y):
"""
frame: cv2.VideoCaputre 로 나온 영상의 프레임 이미지
text: 이미지 (프레임) 에 그려줄 글자
x, y: 글자의 좌표
"""
frame = cv2.cvtColor(frame, c2.COLOR_BGR2RGB)
frame_pil = Image.fromarray(frame)
frame_draw = ImageDraw.Draw(frame_pil)
frame_draw.text((x, y), text, font=fnt, fill=(255, 255, 255))
frame = np.array(frame_pil)
frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)
return frame
fill=(255, 255, 255) 의 경우 RGB 값이 아닌 색상표 (#00000) 도 사용 가능하다
'파이썬' 카테고리의 다른 글
[python] SSH 로 파일 주고 받기 (0) | 2022.04.25 |
---|---|
[python] pdf 파일을 image 파일로 변환 시켜 다운 받기 (0) | 2022.04.13 |
[python] txt to xml (0) | 2022.03.02 |
[python] argparse (0) | 2022.02.08 |
[python] 영상에서 음성 추출하기 (0) | 2022.02.07 |