OpenCV의 putText( ) 는 글꼴이 한정되어 있다.
여러가지 방법으로 글자를 넣을 수 있는 것 같은데, 방법이 좀 복잡해 보여서 다른 방법을 찾아보다가 쉬운 방법을 찾아서 소개해본다.
일단 파이썬 의 가장 보편화된 라이브러리 중 하나인 PIL 을 다운 받아야한다.
PIL 은 Python Image Library 의 약자이다.
설치방법은 간단하다.
파이썬 콘솔(필자의 경우 아나콘다를 사용중)을 실행하고
명령어는 아래 중 하나를 선택해서 입력한다.
1) python2 의 경우
>> pip2 install image
2) python3 의 경우
>> pip3 install image
설치가 완료되었으면 준비가 다 끝났다고 보면 된다.
파이썬 코드는 아래의 코드를 이용하면 된다.
from PIL import Image,ImageDraw,ImageFont
# 이미지로 출력할 글자 및 폰트 지정
draw_text = '가나다'
font = ImageFont.truetype("C:/Windows/Fonts/batang.ttc", 25)
# 이미지 사이즈 지정
text_width = 30*3
text_height = 30
# 이미지 객체 생성 (배경 검정)
canvas = Image.new('RGB', (text_width, text_height), "black")
# 가운데에 그리기 (폰트 색: 하양)
draw = ImageDraw.Draw(canvas)
w, h = font.getsize(draw_text)
draw.text(((text_width-w)/2.0,(text_height-h)/2.0), draw_text, 'white', font)
# png로 저장 및 출력해서 보기
canvas.save(draw_text+'.png', "PNG")
canvas.show()
결과를 확인해보면 아래처럼 된다.
서울남산 장체도 잘 출력 되는 것을 확인할 수 있었다.
서울남산 장체는 따로 설치해야 한다.
이렇게 하면 사용자 글꼴을 사용한 글자이미지를 얻을 수 있다.
이 코드를 활용하면 텍스트 작업에 있어서 자동화를 할 수 있어보인다.
'코딩 > 파이썬' 카테고리의 다른 글
파이썬, 레벨 조절하여 전문가 모드로 QR코드 생성하기 (0) | 2021.09.28 |
---|---|
파이썬 QR코드 쉽게 생성하기 (4) | 2021.09.11 |
아나콘다 파이썬 OpenCV 설치하는 방법 (0) | 2021.09.11 |
파이썬 웹서버에 MySQL 데이터 표로 출력하기 (0) | 2021.08.20 |
파이썬에서 MySQL 사용하기 (0) | 2021.08.19 |
댓글