OCR(Optical character recognition, 광학 문자 인식)은 이미지(사진) 속 글자 위치를 찾고 어떤 글자인지 자동으로 알아내는 기술이라고 한다.
요즘의 개발 트렌드는 IT 대기업들의 똑똑하신 개발자들이 만든 거 그냥 갖다 쓰면 되는 거라고 하는데, 대표적으로 만들어져 있는 OCR AI로는 Tesseract(by 구글), Google Cloud Vision(by 구글), Clova(by 네이버) 등이 있다.
유튜브 보다가 알게되어서 글을 쓰고 있는데, 실습은 해당 영상을 참고하여 Tesseract를 사용해보는 걸로 진행한다.
brew install tesseract-lang
pip install pytesseract
pip install Pillow (이건 기본으로 설치되어 있더라)
Pillow는 Python Imaging Library(PIL), 파이썬에서 여러 포맷을 지원하는 이미지 처리 라이브러리의 하나이다.
import pytesseract
from PIL import Image
pytesseract.pytesseract.tesseract_cmd = r'/opt/homebrew/bin/tesseract'
a = Image.open('img.PNG')
result = pytesseract.image_to_string(a, lang='kor')
print(result)
img.PNG
img2.jpg
쥐크
「 본 286-81~-01771
넌 |] 대 프 이
{ 고양시 일산서구 중앙로1391
| 기이크타문 지하1증
. 전 와 번호:031-916-9200
"
. ㅣ 킴마트를 찾아주셔서 김사합니다.
패
0,
0
일:20-09-26 18114,토요일
001 공주알밤술 7500!
나 8809409970097 1,300 2 2.600
002 웰치소다포도 1ㅁL
일 8801043034722 _ 1,980 1 580
: 003 상주
| 22001429 1.980 1 1.980#
004 팔도)비빔면멀티팩 5입 재
「 8801128503051 3,980 1 _3.900
. 00면세물품 : 1.980
과세물품: 7,782
. 부가세(031) : 778
1 말 겨|:
, 10
:. 신용카드지불 :
tesseract는 영어나 숫자의 정확도가 높고 한글은 정확도를 기대하기 어렵다고 한다. 한글은 네이버의 클로바가 정확도가 괜찮다고 한다. 근데 영어 영수증도 해봤는데 정확도가 한글보다 조금 나은 정도이지 그렇게 크지는 않았다. 더 궁금하면 다른 AI도 사용해보고 추가해보겠다.
OCR은 뭐 금융권에서 카드 발급이나 본인 인증시 신분증 자동인식 같은 그런 거에 이미 쓰이고 있는 기술이라 이렇게 코드 몇 줄로 바로 시험해볼 수 있다는 게 신기했다.
안녕하세요. 잠시 도움을 받고자 댓글을 달게 되었습니다. FileNotFoundError: [Errno 2] No such file or directory: 'recept1.JPG' 이거.. 어떻게 해야 할까요..? 제가 아직 미숙해서 ㅜㅜ....