오답노트

[openCV] 외부 폰트 사용하기 본문

파이썬

[openCV] 외부 폰트 사용하기

장비 정 2022. 3. 23. 16:15

외부 폰트 사용

 

필요 라이브러리

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