Tesseract 라는 오픈소스를 사용하여, 몹시 간단하지만, 몹시 요긴한, 이미지를 텍스트로 추출하는 방법을 기록한다.
나에겐 영문 추출이 필요해서 한국어 버전에 대해서는 아직 적용 해보지 않았다.
한국어를 추출하려면 추가 작업이 필요해서 추후 한국어도 적용 해보고 업데이트 할 예정.
참고사이트
> https://tesseract-ocr.github.io/tessdoc/Installation.html
> https://github.com/tesseract-ocr/tesseract/blob/main/doc/tesseract.1.asc#languages
설치
우선 tesseract 를 설치한다
$ brew install tesseract
설치 완료 후, 오늘자 버전 확인
$ tesseract --version
tesseract 5.3.0
leptonica-1.82.0
libgif 5.2.1 : libjpeg 8d (libjpeg-turbo 2.1.3) : libpng 1.6.39 : libtiff 4.4.0 : zlib 1.2.11 : libwebp 1.3.0 : libopenjp2 2.5.0
Found NEON
Found libcurl/7.79.1 SecureTransport (LibreSSL/3.3.6) zlib/1.2.11 nghttp2/1.45.1
실행
가이드에 나오는 대로 명령어 구조는 아래와 같다.
$ tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]
샘플 테스트 1. 이미지 안의 텍스트를 추출하여 txt 파일 만들기
샘플로 구글에서 검색 화면을 캡쳐해서 돌려보았다.
< n1.png
기본 실행 스크립트.
"n1.png 이미지를 추출해서 out1.txt 를 생성해라"
$ tesseract n1.png out1
결과 확인
$ vi out1.txt
이미지 중 한국어 부분은 깨졌지만 영어는 잘 추출되었다.
샘플 테스트 2. 이미지를 텍스트 검색 가능한 pdf 로 만들기
텍스트 검색이 가능한 pdf로도 생성 가능하다.
$ tesseract n1.png out3 pdf
txt 파일에서 나온 대로 텍스트가 인식되었다.
즉, 한국어는 언어로 인식은 했지만 제대로 컨버팅 되지 않아 복붙해봤자 다 깨져서 나오고, 영어는 제대로 전환되어 나온다.
이상 끝.