리눅스2023. 9. 5. 13:23

 

반달가면 이글루에서 백업 - http://bahndal.egloos.com/629810 (2019.8.5)

테서랙트(tesseract)는 리눅스용 오픈소스 광학문자인식(OCR) S/W이다. 오픈소스이므로 무료로 사용할 수 있다. 테서랙트의 깃허브(github) 페이지는 아래의 링크로 가면 된다.

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

100개 이상의 언어를 지원하며, 데비안/우분투 기반 배포판의 경우 공식 S/W 저장소에 이미 포함되어 있으므로 apt-get 명령어로 설치하면 된다.

# S/W 저장소 갱신
sudo apt-get update

# tesseract-ocr 설치
sudo apt-get install tesseract-ocr

# 영어(eng), 한국어(kor, hang), 일본어용(jpn, jpan) 파일 설치
sudo apt-get install tesseract-ocr-eng tesseract-ocr-kor tesseract-ocr-jpn
sudo apt-get install tesseract-ocr-script-hang tesseract-ocr-script-jpan

# 한국어, 일본어 세로쓰기 인식용 파일 설치
sudo apt-get install tesseract-ocr-kor-vert tesseract-ocr-jpn-vert
sudo apt-get install tesseract-ocr-script-hang-vert tesseract-ocr-script-jpan-vert

만약 특정 언어를 선택하지 않고 전체 언어 파일을 한꺼번에 다 설치하고 싶다면 tesseract-ocr-all 패키지를 설치하면 된다.

# 전체 언어 파일을 모두 설치
sudo apt-get install tesseract-ocr-all

설치가 완료되고 나면 이미지 파일로부터 글자를 인식할 수 있다. 실행 형식은 아래와 같다.

tesseract [입력] [출력] [옵션]

예를 들어 my_image.jpg 파일에서 글자를 인식해서 화면에 출력하고 싶다면 아래와 같이 입력한다.

# my_image.jpg에 대한 OCR 수행결과를 화면(stdout)에 출력
tesseract my_image.jpg stdout

화면에 출력하지 않고 텍스트 파일로 저장하려면 위의 예시에서 stdout 대신 결과 파일명을 지정해 준다. 결과 파일에는 확장자 ".txt"가 자동으로 추가된다.

# my_image.jpg에 대한 OCR 수행결과를 my_image.ocr.txt 파일에 저장
tesseract my_image.jpg my_image.ocr

이미지 파일에 있는 글자가 어느 언어인지 알고 있다면 인식률을 개선할 수 있다. -l 옵션으로 언어를 지정한다.

# -l 옵션으로 언어를 한국어(kor)로 설정
tesseract my_image.jpg stdout -l kor

# -l 옵션으로 언어를 한국어(kor) 및 영어(eng)로 설정
tesseract my_image.jpg stdout -l kor+eng

지원하는 언어 목록은 --list-langs 옵션으로 확인 가능하다.

# 지원 언어 목록 출력
tesseract --list-langs

영어와 한국어 이미지 몇가지로 시험해 보았는데, 영어에 대한 인식률은 매우 좋은 듯하고 한국어는 종종 오인식된 부분들이 보이긴 하나 그럭저럭 쓸만한 것 같다.

728x90
Posted by 반달가면