https://webnautes.tistory.com/947
Tesseract의 파이썬 래퍼인 pytesseract를 설치하여 이미지 상의 글자를 인식시키는 코드를 작성해보았습니다.
Ubuntu 18.04에서 테스트를 진행했습니다.
ps. Raspberry Pi에서는 다음처럼 진행하세요.
설치
sudo apt install tesseract-ocr tesseract-ocr-kor
테스트
tesseract hangul.png stdout -l kor
마지막 업데이트 - 2018. 9. 9
tesseract-ocr과 한글 데이터 패키지를 설치해줍니다. 추가로 파이썬에서 사용하기 위해 필요한 pytesseract를 설치합니다.
$ sudo apt install tesseract-ocr tesseract-ocr-script-hang tesseract-ocr-script-hang-vert $ sudo pip3 install pytesseract |
우선 터미널에서 문자 인식을 해보겠습니다. 한글과 영문 텍스트가 포함된 이미지를 각각 테스트 해보았습니다.
한글 문서의 경우 -l Hangul 옵션을 끝에 추가해줘야 합니다. 제목이 소년 대신에 초년으로 인식된 것을 제외하고는 거의 대부분의 문자들이 인식되었습니다. 하지만 띄어쓰기가 문제 있습니다.
영어의 경우에는 거의 그대로 문자인식이 된 듯합니다. 줄바꿈만 차이가 있습니다.
파이썬 코드로 문자 인식을 진행해보겠습니다.
다음처럼 한 줄의 코드로 이미지에 대한 문자 인식이 이루어집니다. 앞에서 테스트시 사용한 이미지를 그대로 사용하였습니다.
try: import Imageexcept ImportError: from PIL import Imageimport pytesseract# 영어 인식print(pytesseract.image_to_string(Image.open('english.png')))# 한글 print(pytesseract.image_to_string(Image.open('hangul.png'), lang='Hangul')) |
인식 결과는 터미널에서 할 때와 동일합니다.
A Dream Within A Dream by Edgar Allan Poe Take this kiss upon the brow! And, in parting from you now, ‘Thus much let me avow-- ‘You are not wrong, who deem That my days have been a dream; ‘Yet if hope has flown away Ina night, or in a day, Ina vision, or in none, Is it therefore the less gone? Alll that we see or seem Is but a dream within a dream. 초년 여기저기서 단풍잎 같은 슬픈 가 을 이 뚝뚝 떨어진다. 단풍잎 떨어져 나온 자 리 마다 봄 을 마련해 놓고 나 릇 가지 위에 하 늘 이 (펼쳐 있다. 가만히 하 늘 을 들 여 다 보려면 눈 썸 에 파란 물 감 이 든다. 두 손 으로 따뜻한 볼 을 쓸어 보면 손 바 닥 에도 파란 물감 이 묻 어 난다. 다시 손 바 닥 을 들 여 다 본다. 손 금 에는 맑은 강물 이 흐르고, 맑은 강 물 이 흐르고, 강물 속에는 사 랑 처 럼 슬픈 얼 굴 -- 아름다운 순 이 의 얼 굴 이 어 린 다. 소 년 은 황 홀 히 눈 을 감아 본다. 그래도 맑은 강 물 은 흘러 사 람 처럼 슬픈 얼 굴 - 아름다운 순 이 의 얼 굴 은 어 린 다. |
파이썬용 라이브러리 사용법에 대한 더 자세한 정보는 다음 링크에서 얻을 수 있습니다.
https://github.com/madmaze/pytesseract
관련 영상
문자 인식을 해볼 수 있는 테서랙트 tesseract를 윈도우에서 실행시키는 방법을 소개하는 영상입니다.
해본 것을 문서화하여 기록합니다.
부족함이 있지만 도움이 되었으면 합니다. 잘못된 부분이나 개선점을 알려주시면 감사하겠습니다.
포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
질문을 남겨주면 가능한 빨리 답변드립니다.
'Python' 카테고리의 다른 글
판다스 데이터 추가하기: 파이썬 excel 자동화 openpyxl (0) | 2022.05.26 |
---|---|
Hand Detection and Finger Counting Using OpenCV-Python (0) | 2022.05.24 |
파이썬 10진수, 8진수, 16진수, 2진수 입력, 출력 방법 (0) | 2022.05.16 |
signed int를 unsigned형 정수로 변환 캐스팅 함수 (0) | 2022.05.16 |
Python signed/unsigned 처리 (0) | 2022.05.16 |
댓글