2020-01-21 01:45:21

안녕하세요. 컴퓨터비전 블로그 bskyvision.com의 심교훈입니다. 오늘은 이미지 속에 존재하는 문자를 검출해서 인식하는 것에 대해서 다루려고 합니다. 이러한 기술을 OCR(optical character recognition, 광학 문자 인식)이라고 부릅니다. 

 

OCR과 관련해서 가장 유명한 패키지는 Tesseract OCR입니다. 오늘은 Tesseract OCR을 파이썬에서 사용하는 법에 대해 다루도록 하겠습니다. 

 

먼저 Tesseract OCR 패키지를 설치해줘야합니다.

sudo apt install tesseract-ocr

 

그리고 한글 텍스트를 다루고 싶다면, 다음과 같이 명령해줘야합니다.

sudo apt-get install tesseract-ocr-script-hang tesseract-ocr-script-hang-vert

 

또한 파이썬에서 Tesseract OCR을 사용하기 위해서는 pytesseract도 설치해줘야합니다. 

sudo pip3 install pytesseract

 

자, 그럼 이제 준비는 끝났고, 바로 OCR을 해보겠습니다. 저는 제가 최근에 읽은 책인 <프레임>의 첫페이지를 사진찍어서, 테스트 이미지 파일로 선정했습니다. 그 이미지 파일 이름은 test.JPG로 했습니다. 

 

출처: <프레임> 6 page

 

아래와 같은 단 한줄의 명령어면 위 이미지 속 문자를 인식해낼 수 있습니다. 

tesseract test.JPG stdout -l Hangul

 

 

이 명령어는 터미널에 인식한 문자들이 출력되게 해줍니다. 다음과 같이 인식했습니다. 사진을 조금 비뚤어지게 찍어서 그런지 몰라도 부분적으로만 인식이 되었지만, 어느 정도 인식해냈음을 확인할 수 있습니다. 

 

 

만약 인식한 문자를 메모장 파일에 저장하고 싶으면 다음과 같이 명령해주면 됩니다. stdout 대신에 생성해서 저장할 메모장 파일 이름을 써줍니다. 

tesseract test.JPG OCR_result -l Hangul

 

 

다음과 같이 메모장 파일에 잘 쓰여졌습니다. 

 

 

다음 시간에는 Tesseract OCR을 가지고 좀 더 재밌는 예제를 만들어보겠습니다. 예고를 드린다면, 문자를 인식해서 음성으로 들려주는 예제를 다뤄보겠습니다. 

 

 

 

<참고자료>

[1] https://www.howtoforge.com/tutorial/tesseract-ocr-installation-and-usage-on-ubuntu-16-04/, Tesseract OR: Installation and Usage Ubuntu 16.04

[2] https://www.pyimagesearch.com/2017/07/10/using-tesseract-ocr-python/, pyimagesearch, "Using Tesseract OCR with Python"

[3] https://webnautes.tistory.com/947, 멈춤보다 천천히라도, "파이썬에서 pytesseract를 사용하여 문자 인식(OCR)하기"