원문 보기: https://dawoum.duckdns.org/wiki/Frog_OCR_(software)
Frog OCR은 리눅스에 대해 자유와 오픈-소스 OCR 도구로, Google TTS 온라인 서비스를 사용하여 이미지로부터 텍스트 (영어, 한국어, 등)와 QR 코드를 추출할 수 있습니다.
예를 들어, 유튜브, 스크린캐스트, PDF, 웹페이지, 사진 등 거의 모든 소스에서 빠르게 텍스트를 추출할 수 있습니다.
Introduction
어떤 자료로부터 텍스트를 추출하는 방법은 가능한 해당 자료를 열 수 있는 방법이 있을 때에는 그것으로부터 복사해서 가져오는 것이 가장 좋은 결과를 보입니다.
예를 들어, 웹에서 간혹 만나는 복사 방지가 되어 있는 자료는 복사 방지를 해제해서 복사하는 것이 최선일 수 있습니다.
PDF 파일도 LibreOffice Draw로 열리면 그것으로부터 텍스트를 추출하는 것이 좋을 수 있습니다.
어쨌든, 어떤 경우에서라도 그런 상황이 되지 않을 때에는 스크린샷을 찍어서 그것으로부터 텍스트를 추출할 수 있는 방법이 있고, 그런 도구 중 하나가 frog-ocr입니다.
실제로 사용해 보면, 영어는 꽤 좋은 품질로 추출이 되지만, 한글은 정도를 수치로 측정하기는 힘들지만, 일부 측정이 되지 않거나 엉뚱한 문자로 출력되기도 합니다.
Installation
데비안 저장소에 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으로 설치할 수도 있고, 다음에서 소스를 구해서 설치할 수도 있습니다:
- https://github.com/puyuan/py-nanoid
- https://github.com/posthog/posthog-python
- https://github.com/madmaze/pytesseract
만약 이 모듈들을 패키지로 제작하고 싶을 때에는 아치 패키지를 각각 참조하십시오:
- https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=python-nanoid
- https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=python-posthog
- https://gitlab.archlinux.org/archlinux/packaging/packages/python-pytesseract/-/blob/main/PKGBUILD?ref_type=heads
더구나, 제대로 작동하기 위해, 런타임 종속성 패키지가 있습니다. 위의 아치 패키지에서 힌트를 얻어서 다음 패키지를 설치해 보십시오. 아래의 목록은 정확하고 완전한 목록은 아닐 수 있습니다!!
- 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
