본문 바로가기
취미

[OCR] Tesseract 설치 방법 - 리눅스 환경

by climb_JJIYO 2024. 1. 27.
반응형

현대 사회에서는 문서 및 이미지를 디지털화하고 텍스트로 변환하는 필요성이 더욱 증가하고 있습니다. 이에 따라 광학 문자 인식(OCR) 기술이 중요성을 갖게 되었습니다. OCR은 이미지나 스캔된 문서에서 텍스트를 자동으로 인식하고 추출하여 컴퓨터가 이해할 수 있는 형태로 변환하는 기술입니다. 이러한 OCR 기술은 다양한 분야에서 활용됩니다. 문서 디지털화, 정보검색, 자동화, 웹 크롤링 등의 분야에서 특히 많이 사용되며, 대량의 문서를 처리하고 정보를 추출해야 하는 환경에서 특히 유용하게 활용됩니다.

1. OCR이란?

OCR은 광학 문자 인식(Optical Character Recognition)의 약어로, 이미지나 스캔된 문서에서 텍스트를 자동으로 인식하고 추출하는 기술을 의미합니다. OCR 시스템은 기계학습 및 패턴 인식 기술을 활용하여 이미지 상의 문자를 컴퓨터가 이해할 수 있는 텍스트로 변환합니다. OCR 기술은 문서 디지털화, 정보 검색, 자동화, 웹 크롤링 등 다양한 응용 분야에서 사용되며, 특히 대량의 문서를 처리하고 정보를 추출해야 하는 환경에서 유용하게 활용됩니다.

 

Tesseract 란?

Tesseract는 광학 문자 인식(OCR) 엔진으로, 텍스트를 이미지나 스캔한 문서에서 추출하는데 사용됩니다. Tesseract는 Google에서 개발한 오픈 소스 프로젝트입니다.

  1. 다양한 언어에 대한 OCR을 지원합니다. 특정 언어의 문자를 인식하고 추출하는데 사용됩니다.
  2. Tesseract는 고성능 OCR엔진으로 정확도가 높아져서 다양한 문서나 이미지에서 텍스트를 신속하게 인식할 수 있습니다.
  3. Tesseract는 다양한 이미지 형식을 지원하며, 다양한 폰트 및 스타일에 대응할 수 있습니다.
  4. 지속적으로 업데이트되고 개선되고 있으며, 사용자들의 피드백과 기여를 받아들이고 있습니다.

Tesseract는 다양한 설정 옵션과 언어 지원을 제공하므로, 사용 시에 필요한 옵션을 적절히 설정하여 원하는 결과를 얻을 수 있습니다.

 

2. Tesseract 설치

리눅스 환경에서 Tesseract를 설치하는 방법입니다.

 

1. 필수 라이브러리를 설치합니다.

$ yum install -y autoconf automake libtool pkgconfig.x86_64
$ yum install -y libpng12-devel.x86_64 libjpeg-devel libtiff-devel.x86_64 zlib-devel.x86_64
$ yum install -y wget git

 

2. GCC 최신 버전을 설치합니다.

$ yum install centos-release-scl
$ yum install devtoolset-9-toolchain
$ scl enable devtoolset-9 bash

 

3. Leptonica-1.79 설치합니다.

$ cd /root
$ wget http://www.leptonica.org/source/leptonica-1.79.0.tar.gz
$ tar -zxvf leptonica-1.79.0.tar.gz
$ cd leptonica-1.79.0
$ ./configure --prefix=/usr/local/leptonica-1.79.0
$ make
$ make install

 

4. Tesseract 5.0.0 설치합니다.

$ cd /root
$ export PKG_CONFIG_PATH=/usr/local/leptonica-1.79.0/lib/pkgconfig
$ git clone https://github.com/tesseract-ocr/tesseract.git
$ cd tesseract
$ ./autogen.sh
$ ./configure --prefix=/usr/local/tesseract-5.0 
$ make
$ make install

 

5. train data를 추가합니다.

  • 다운받아야하는 학습된 한글 데이터 파일명 : kor.traineddata
$ cp -r ${file_upload_path}/kor.traineddata /usr/local/tesseract-5.0/share/tessdata
$ cp -r ${file_upload_path}/eng.traineddata /usr/local/tesseract-5.0/share/tessdata

 

6. 환경변수를 설정합니다.

$ export PATH=$PATH:/usr/local/tesseract-5.0/bin
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/tesseract-5.0/lib
$ export TESSDATA_PREFIX=/usr/local/tesseract-5.0/share/tessdata

 

7. 정상적으로 설치되었는지 확인합니다.

# Check version
$ tesseract -v
# Run Tesseract-OCR
$ tesseract -l eng $TEST_IMAGE $RESULT_FILE

 

3. Error in pixReadStreamPng 오류 해결 방법

아래와 같은 오류 메시지로 tesseract가 설치되지 않을 때 해결 방법입니다.

Error Message : 1, 'Error in pixReadStreamPng: function not present Error in pixReadStream: png: no pix returned Error in pixRead: pix not read Error during processing.

 

$ yum install libpng-devel 

$ cd leptonica-1.79.0/ 
$ make clean 
$ ./configure --prefix=/usr/local/tesseract-5.0  
$ make 
$ make install

 

결론적으로, OCR 기술은 문서 관리, 정보 검색, 자동화, 웹크롤링 등의 분야에서 널리 활용되며, 더 나은 작업 효율성과 생산성을 위한 필수 도구로 자리잡고 있습니다. 향후에도 OCR 기술을 발전과 활용이 계속되어 다양한 분야에서 더욱 효과적으로 활용될 것으로 기대됩니다.

반응형