[ OCR ] Tesseract, PyTesseract 설치방법 (OCR 개발환경) - Python
Tesseract란?
테서랙트(Tesseract)는 다양한 운영 체제를 위한 광학 문자 인식 엔진입니다. 이 소프트웨어는 Apache License, 버전 2.0에 따라 배포되는 무료 소프트웨어이며 2006년부터 Google에서 개발을 후원했습니다. Tesseract는 1995년 문자 정확도 측면에서 3대 OCR 엔진에 속했으며 Linux, Windows 및 Mac OS X에서 사용할 수 있습니다.
버전 2 이하의 Tesseract에서는 간단한 단일 열 텍스트의 TIFF 이미지만 입력으로 허용했었고, Version 3 부터 Tesseract는 출력 텍스트 형식, OCR 위치 정보 및 페이지 레이아웃 분석을 지원하게 되었고 Leptonica 라이브러리를 사용하여 여러 가지 새로운 이미지 형식에 대한 지원이 추가되었습니다.
현재는 많은 언어 및 스크립트에 대한 LSTM 기반 OCR 엔진 및 모델이 추가되어 총 116개의 언어가 제공됩니다.
< 참고 - 위키백과 : 테서랙트(Tesseract) >
OCR 개발환경 구성
1. Tesserct Engine 설치
1) macOS에 Tesseract 설치
Homebrew 패키지 관리자 를 사용하면 macOS에 Tesseract OCR 엔진을 설치하는 것이 매우 간단합니다 . Homebrew가 아직 설치되어 있지 않다면 위의 링크를 사용하여 시스템에 Homebrew를 설치하시기 바랍니다.
$ brew install tesseract
설치경로 확인하기
cd / && sudo find . -iname tesseract
2) Ubuntu에 Tesseract 설치
Ubuntu 18.04에 Tesseract를 설치하는 것은 간단합니다. apt-get 패키지 관리자는 Tesseract에 필요한 필수 라이브러리 또는 패키지를 자동으로 설치합니다.
$ sudo apt install tesseract-ocr
3) Windows에 Tesseract 설치
a) Windows용 Tesseract 설치 프로그램을 사이트로 이동하여 다운로드합니다.
b) 설치파일을 실행 합니다.
c) 한국어를 추가합니다.
d) 설치 경로의 경우 Python의 가상환경이 존재하는 드라이브로 설치하는 것을 권장합니다. (다른 드라이브에 존재하는 경우 ucrtbase.DLL 모듈 오류가 발생 할 수 있습니다.)
5.0 이전에는 환경변수에 Path를 추가하는 옵션이 있었는데, 자동으로 추가 할 경우 일부 문제가 있어서 5.0부터는 없어졌습니다. 수동으로 추가가 필요합니다. Python에서 직접 경로를 입력하여 호출 할 거라면 Path를 추가하지 않으셔도 됩니다.
Path 추가
1) 설치 경로를 확인하여 복사합니다.
2) 고급 시스템 설정 > 고급 > 환경 변수
3) Path에 Tesseract 경로를 추가합니다.
4) PowerShell 을 열어서 tesseract 명령어 수행 시 아래와 같이 출력된다면 환경변수가 정상적으로 설정 된 것입니다.
2. OpenCV와 PyTesseract 설치
PyTesseract 설치 전에 안정적인 개발환경을 위해서 OCR을 위한 Python 가상환경을 만들고 진행 하시기를 권장합니다.
(ocr_env) pip install numpy opencv-contrib-python (ocr_env) pip install pytesseract
이제 컴퓨터에 Tesseract OCR 엔진 설치가 완료되었고, 또한 OCR, 컴퓨터 비전 및 이미지 처리를 수행하는 데 필요한 필수 Python 패키지를 설치가 완료되었습니다.
3. Trained Data Download
Trained models | Speed | Accuracy | Supports legacy | Retrainable | |
tessdata | Legacy + LSTM (integerized tessdata-best) | Faster than tessdata-best | Slightly less accurate than tessdata-best | Yes | No |
tessdata-best | LSTM only (based on langdata) | Slowest | Most accurate | No | Yes |
tessdata-fast | Integerized LSTM of a smaller network than tessdata-best | Fastest | Least accurate | No | No |
'Tech & Development > OCR' 카테고리의 다른 글
[ OCR ] 문자 추출 및 인식 (EAST text Detector Model) - Python (5) | 2022.01.13 |
---|---|
[ OCR ] 파이썬 Tesseract OCR 활용 (심화2) - Python (7) | 2022.01.11 |
[ OCR ] 파이썬 Tesseract OCR 활용 (심화1) - Python (5) | 2022.01.11 |
[ OCR ] 파이썬 Tesseract OCR 활용 (기본) - Python (4) | 2021.12.23 |
[ Python ] 간단한 MNIST 모델 (OCR) 만들기 (0) | 2021.11.29 |
댓글
이 글 공유하기
다른 글
-
[ OCR ] 파이썬 Tesseract OCR 활용 (심화2) - Python
[ OCR ] 파이썬 Tesseract OCR 활용 (심화2) - Python
2022.01.11 -
[ OCR ] 파이썬 Tesseract OCR 활용 (심화1) - Python
[ OCR ] 파이썬 Tesseract OCR 활용 (심화1) - Python
2022.01.11 -
[ OCR ] 파이썬 Tesseract OCR 활용 (기본) - Python
[ OCR ] 파이썬 Tesseract OCR 활용 (기본) - Python
2021.12.23 -
[ Python ] 간단한 MNIST 모델 (OCR) 만들기
[ Python ] 간단한 MNIST 모델 (OCR) 만들기
2021.11.29