본문 바로가기
코딩/파이썬

파이썬으로 한글폰트 텍스트 이미지 만들기

by DIYver 2021. 9. 16.

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()

 

 

결과를 확인해보면 아래처럼 된다.

 

 

 

서울남산 장체도 잘 출력 되는 것을 확인할 수 있었다.

서울남산 장체는 따로 설치해야 한다.

 

 

 

 

 

이렇게 하면 사용자 글꼴을 사용한 글자이미지를 얻을 수 있다.

 

이 코드를 활용하면 텍스트 작업에 있어서 자동화를 할 수 있어보인다.

 

 

 

 

 

댓글