본문 바로가기

NLP 프로젝트 일지[0505~]

[tesseract]pycharm 에서 ocr 사용하기

구글은 위대하다....

예전에 tesseract 썼을 때는 인식률 너무 안좋아서 다른 걸 사용했었는데 구글 입김 들어가고 개선된 5.0 버전 사용하니 인식률 진짜 좋음;;

 

tesseract 버전 별 차이점

3.0 버전은 전통적인 cv 알고리즘을 이용한다. 따라서 문맥을 인지하지 못한다.

4.0 버전부터 딥러닝 모델(lstm)이 들어감

현재(2020.7.15) 가장 최근에 나온 버전이 5.0 인데 가장 최신 버전을 받는게 제일 좋은 것 같다.

 

tesseract 사용법

 

1. tesseract 엔진을 다운 받는다

https://github.com/UB-Mannheim/tesseract/wiki 에서 다운 받을 수 있다. os에 맞는 최신 버전을 받는다.

 

엔진을 설치할 때 사용할 언어 패키지도 같이 설치해야 한다. 

사용할 언어 패키지를 선택해서 같이 다운 받는다.

 

2. 경로 설정하기

 

환경변수 시스템변수 다 설정해주고 cmd 창에서 tesseract 입력해서 확인해보기.

 

lstm을 이용하여 업데이트한 언어 패키지는 여기에서 다운받자

https://github.com/tesseract-ocr/tessdata_best

 

tesseract-ocr/tessdata_best

Best (most accurate) trained LSTM models. Contribute to tesseract-ocr/tessdata_best development by creating an account on GitHub.

github.com

혹시 모르니 언어 패키지 이름 겹치지 않게 설정할 것 ex. kor_lstm.traineddata

 

3.

pip install pytesseract

pip install 

pip install opencv-python

 

3. 

config 설정하기

 

config = r'-c preserve_interword_spaces=1 --psm 6 --oem 3 -l kor_lstm+eng+osd --tessdata-dir "C:\Program Files\Tesseract-OCR\tessdata"'

 

--psm 6 : segmentation 

--oem 3 : ocr engine 

-l kor_lstm+eng+osd : 사용할 언어 설정 ( 저장한 패키지 명 설정하면 됨)

--tessdata-dir "C:\Program Files\Tesseract-OCR\tessdata" : 언어 패키지 경로 설정;

 

 

* 언어팩 에러가 나는 경우가 있다..

pytesseract.pytesseract.TesseractError: (1, 'Error opening data file C:\\Program Files\\Tesseract-OCR\\kor_lstm.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. Failed loading language \'kor_lstm\' Error opening data file C:\\Program Files\\Tesseract-OCR\\eng.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. Failed loading language \'eng\' Error opening data file C:\\Program Files\\Tesseract-OCR\\osd.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. Failed loading language \'osd\' Tesseract couldn\'t load any languages! Could not initialize tesseract.')

나는 3.0 버전을 먼저 받고 5.0 버전을 받았더니 경로가 꼬여서 계속 저 에러가 떴음;

해결방법은 config 로 언어 패키지 경로를 직접 설정해주는 것이다...

 

 

암튼 짱좋음 굿굿

 

 

https://m.blog.naver.com/tommybee/221307497468

 

Tesseract 및 OpenCV를 사용한 심층 학습 기반 텍스트 인식 (OCR)

https://www.learnopencv.com/deep-learning-based-text-recognition-ocr-using-tesseract-and-opencv/오늘...

blog.naver.com