콘텐츠로 이동
Image 문서0.3

OCR 설정

최신 안정판 Image 0.3.0 릴리스 기준

OCR 모듈은 Tess4J/Tesseract를 ImmutableImage에 연결한다. Maven 아티팩트를 추가하면 Java 연동 코드는 들어오지만 네이티브 엔진과 언어 데이터까지 설치되지는 않는다.

macOS:

brew install tesseract tesseract-lang

Ubuntu 또는 Debian:

sudo apt-get install tesseract-ocr tesseract-ocr-eng

사용할 언어를 모두 설치한다. tesseract —list-langs 결과에 OcrOptions로 넘길 언어가 있는지 확인한다. 배포 디렉터리가 Tesseract 기본값과 다르면 데이터 경로도 명시한다.

OCR 모듈을 추가하고 ImmutableImage를 읽은 뒤 언어와 페이지 분할 옵션을 넣어 extractText를 호출한다. 기본 엔진은 호출마다 새 Tess4J 인스턴스를 만든다. 변경 가능한 엔진 상태를 공유하지는 않지만 OCR은 CPU와 네이티브 자원을 많이 쓰므로 동시 실행 수와 요청 시간을 제한해야 한다.

  • 일반 단위 테스트에서는 네이티브 OCR을 끈다.
  • 실제 OCR 검사는 -Docr.enabled=true로 켠다.
  • Docker를 사용할 수 있으면 -Docr.container.enabled=true로 컨테이너 검사를 켠다.

네이티브와 컨테이너 OCR 검사는 순차로 실행한다. 짧고 결과가 알려진 테스트 이미지를 쓰고, 배치에 민감한 공백 전체보다 정규화한 문자열을 검증한다.

이후 Ktor OCR 워크숍이나 Spring Boot OCR 워크숍으로 이어간다.