본문 바로가기
리눅스

Frog OCR (software)

by 다움위키 2024. 9. 23.

원문 보기: https://dawoum.duckdns.org/wiki/Frog_OCR_(software)

 

Frog OCR은 리눅스에 대해 자유와 오픈-소스 OCR 도구로, Google TTS 온라인 서비스를 사용하여 이미지로부터 텍스트 (영어, 한국어, 등)와 QR 코드를 추출할 수 있습니다.

예를 들어, 유튜브, 스크린캐스트, PDF, 웹페이지, 사진 등 거의 모든 소스에서 빠르게 텍스트를 추출할 수 있습니다.

Introduction

어떤 자료로부터 텍스트를 추출하는 방법은 가능한 해당 자료를 열 수 있는 방법이 있을 때에는 그것으로부터 복사해서 가져오는 것이 가장 좋은 결과를 보입니다.

예를 들어, 웹에서 간혹 만나는 복사 방지가 되어 있는 자료는 복사 방지를 해제해서 복사하는 것이 최선일 수 있습니다.

PDF 파일도 LibreOffice Draw로 열리면 그것으로부터 텍스트를 추출하는 것이 좋을 수 있습니다.

어쨌든, 어떤 경우에서라도 그런 상황이 되지 않을 때에는 스크린샷을 찍어서 그것으로부터 텍스트를 추출할 수 있는 방법이 있고, 그런 도구 중 하나가 frog-ocr입니다.

실제로 사용해 보면, 영어는 꽤 좋은 품질로 추출이 되지만, 한글은 정도를 수치로 측정하기는 힘들지만, 일부 측정이 되지 않거나 엉뚱한 문자로 출력되기도 합니다.

Installation

이 프로그램은 의존성 패키지가 꽤 많아서, flatpak 형식을 사용하거나 의존성 패키지의 완전한 목록을 얻을 필요가 있습니다.

데비안 저장소에 frog라는 패키지가 있지만, 이 프로그램이 아닙니다. 데비안에 패키지가 존재하지 않기 때문에, Flatpak 형식으로 설치할 수 있습니다.

Debian packaging

데비안 패키지를 만들기 위해, 아치 frog-ocr 패키지를 참조할 수 있습니다:

어쨌든, 개발자 소스로부터 패키지 제작을 시작합니다:

  • git clone --recurse-submodules --depth 1 https://github.com/TenderOwl/Frog
  • cd Frog
  • dh_make --createorig -p frog-ocr_1.5.2
  • dh_auto_configure --buildsystem=meson
  • time dpkg-buildpackage -i -us -uc -b
  • cd ..
  • sudo dpkg -i frog-ocr_1.5.2-1_amd64.deb

터미널에서 실행하면, 오류가 발생할 것입니다. 왜냐하면 데비안에서 제공하지 않는 파이썬 모듈이 있기 때문입니다. 실행에 필요한 파이썬 모듈은 nanoid, posthog, pytesseract입니다.

이 세 개의 모듈은 pip으로 설치할 수도 있고, 다음에서 소스를 구해서 설치할 수도 있습니다:

만약 이 모듈들을 패키지로 제작하고 싶을 때에는 아치 패키지를 각각 참조하십시오:

더구나, 제대로 작동하기 위해, 런타임 종속성 패키지가 있습니다. 위의 아치 패키지에서 힌트를 얻어서 다음 패키지를 설치해 보십시오. 아래의 목록은 정확하고 완전한 목록은 아닐 수 있습니다!!

  • python3-backoff
  • python3-monotonic
  • python3-pyzbar
  • zbarcam-gtk
  • python3-pyzbar
  • leptonica-progs
  • tesseract-ocr
  • tesseract-ocr-kor
  • tesseract-ocr-fra
  • giflib-tools

작동은 하지만, 버전이 달라서 그런지 개발자가 제공하는 스크린샷처럼 동작하지는 않습니다. 스크린샷에서 추출이 되지 않는 부분이 있습니다.

Configurations

실행 후에, 왼쪽 꼭대기에 있는 세로 줄 3개를 누르고 Preferences를 선택합니다:

  • General 탭에서 Collect analysis는 제외할 수 있습니다.
  • Language 탭에서 +를 눌러서 korean으로 검색해서 Korean과 Korean (vertical)을 다운로드합니다. 다른 언어가 필요하면, 검색해서 마찬가지로 다운로드합니다.

스크린샷의 영역을 선택할 때, 가장자리의 여백에 조금 여유를 두고 캡처를 해야 추출이 비교적 잘 됩니다.

Screenshots