본문 바로가기

머신러닝/OCR

pytesseract 사용방법

요새 tesseract5 학습 방법을 보고 찾아오시는 분이 많길래

학습한 모델을 사용하는 방법도 알려드리면 좋을 것 같아 포스팅해봅니다!

 windows용 tesseract 5.0 학습방법 : https://wandukong.tistory.com/7

 

Tesseract OCR 5.0 Windows용 학습 방법

Tesseract OCR을 처음 학습시킬 때 정보가 충분하지 않아 오랜시간 헤맸던 기억이 있다. 방법을 찾아 학습시켜본 지는 꽤 오래됐지만 누군가에게 도움이 되지 않을까 해서 방법을 글로 정리해보려

wandukong.tistory.com

 

오늘은 tesseract를 파이썬으로 사용할 수 있는 pytesseract 사용방법에 대해 소개해보겠습니다.


(1) Tesseract OCR 설치

https://github.com/UB-Mannheim/tesseract/wiki

 

GitHub - UB-Mannheim/tesseract: Tesseract Open Source OCR Engine (main repository)

Tesseract Open Source OCR Engine (main repository) - GitHub - UB-Mannheim/tesseract: Tesseract Open Source OCR Engine (main repository)

github.com

위 링크에서 windows용 Tesseract ocr을 설치합니다.

pc에 맞게 다운로드


(2) pytesseract 다운로드

https://github.com/madmaze/pytesseract

 

GitHub - madmaze/pytesseract: A Python wrapper for Google Tesseract

A Python wrapper for Google Tesseract. Contribute to madmaze/pytesseract development by creating an account on GitHub.

github.com

위 링크에서 코드를 다운로드합니다.


(3) path 설정

3-1) tesseract.exe 경로 설정

pytesseract.py line 31

pytesseract.py에서 line 31의 tesseract_cmd를 (1)에서 설치한 Tesseract-OCR 경로로 수정해줍니다.

 

tessseract.exe 위치 확인

tesseract_cmd = 'C:\Program Files\Tesseract-OCR\tesseract.exe'

 

3-2) traineddata 위치 설정

학습시켰던 traineddata 파일을 Tesseract-OCR/tessdata 에 옮겨줍니다.


(4) test 코드 작성

아래 script는 pytesseract 루트 폴더에 만들어주었습니다.

import pytesseract
import cv2

oem = 3
psm = 6

traineddata = 'new'

img = cv2.imread('test_img.png')

ocr_result = pytesseract.image_to_data(image=img, lang=traineddata, config='--oem ' + str(oem) + ' --psm ' + str(psm))

print(ocr_result)

oem 과 psm 은 tesseract 실행 시 option입니다. (포스팅 맨 아래 참고)

traineddata에 각자 학습시켰던 traineddata 파일명을 입력하고

테스트하고 싶은 이미지로 위 코드를 실행시키면 됩니다.

 

사용한 test 이미지 
image_to_data 결과

위와 같이 결과가 잘 나오는 것을 확인할 수 있습니다.

image_to_data() 대신 image_to_string()을 사용하면

image_to_string 결과

위와 같이 깔끔한 string만을 출력합니다.

이외에도 다양한 함수가 있는데 pytesseract.py 코드를 참고하시면 될 것 같습니다.

 


+ 참고

  • oem, psm option 

oem, psm 참고

https://github.com/tesseract-ocr/tesseract/blob/main/doc/tesseract.1.asc

 

GitHub - tesseract-ocr/tesseract: Tesseract Open Source OCR Engine (main repository)

Tesseract Open Source OCR Engine (main repository) - GitHub - tesseract-ocr/tesseract: Tesseract Open Source OCR Engine (main repository)

github.com

 

 

반응형

'머신러닝 > OCR' 카테고리의 다른 글

[논문 리뷰] SynthTIGER 리뷰  (0) 2022.03.18
EasyOCR 사용 방법  (7) 2022.01.16
EasyOCR 소개  (0) 2021.10.10
Tesseract OCR 5.0 Windows용 학습 방법  (23) 2021.08.26
Tesseract OCR  (0) 2021.05.08