Tesseract GUI 2.9 z OCR za pan brat

Kwestia OCR na Linuksie był zawsze dla mnie niczym tabu. W czasach gdy potrzebowałem masowo przetwarzać zeskanowane materiały, nie było dostępnych natywnych narzędzi którymi mógłbym to zrobić. I tylko moje zaciśnięte zęby i uparty wzrok ratowały reputację Linuksa. Kiedy atmosfera zelżała, okazało się, że powstało parę ciekawych i sensownych projektów, które OCR na Linuksie czynią nawet nie tylko możliwym, co i wygodnym. Jednym z prekursorów był silnik Tesseract i interfejs graficzny na potrzeby jego obsługi. Ostatnio owo GUI pojawiło się w PPA, dlatego warto o nim przypomnieć.

Tesseract GUI na Linuksie
Tesseract GUI na Linuksie
Tesseract GUI 2.9 to stosunkowo prosty program, ale posiadający kilka zalet – niewielki i poręczny, radzący sobie z polskimi tekstami. Jego głównym atutem jest oczywiście wykorzystanie jednego z najsprawniejszych silników rozpoznający znaki drukowane, Tesseract. Całość opcji została zawarta w jednym oknie i jedyne co musimy zrobić aby zacząć przetwarzać tekst, to wybrać katalog z zeskanowanymi dokumentami, ustalić kontrast i odszumianie obrazu, ew. obroty i wyrównanie, zaznaczyć która sekcja nas interesuje (albo niczego nie ruszać dla rozpoznania całej kartki). Gotowe – program po zakończeniu całego procesu zapisze wynik w czystym pliku txt.
Uważni użytkownicy z pewnością już kręcą nosem na niewielką zawartość automatyki (brak automatycznego rozpoznawania obszarów z tekstem, brak automatycznych obrotów, export jedynie do formatu txt). No cóż, Tesseract GUI nie ma ambicji do bycia kombajnem z setkami opcji, a jego obecna forma do szybkich prac jest jak znalazł.

A jak wygląda sprawność rozpoznawania tekstu? Kawałek powyższego obrazka został rozpoznany i zapisany jako:

Obchodzony właśnie Rok Juliana
Tuwima w naszym mieście obfito-
wał głównie – jak na razie – w proje-
kty skierowane do dzieci i młodzie-
ży. Na jesień (wrzesień-październik)
zaplanowano cykl koncertów, które
pozwolą ujrzeć poezję autora

Całkiem niezła skuteczność, nieprawdaż?

Jak już wspomniałem, program trafił ostatnio do jednego z repozytoriów PPA, skąd zainstalujemy dla Ubuntu 14.04/Mint 17 (potrzebne będą też odpowiednie pliki rozpoznające konkretne języki pisane):

sudo add-apt-repository ppa:ferramroberto/lffl
sudo apt-get update
sudo apt-get install tesseract-gui tesseract-data-pol tesseract-data-eng

W Arch Linux oraz Manjaro Tesseract GUI znajdziemy w repozytorium AUR:

yaourt tesseract-gui

Będziemy też potrzebowali plików data:

sudo pacman -S tesseract-data-pol
sudo pacman -S tesseract-data-eng

 

7 komentarzy

  1. Szkoda, że nie ma żadnego sensownego GUI (przynajmniej ja nie znam), które by wykorzystywało możliwości ostatniego Tesseracta (3.03) w zakresie tworzenia pdf-ów z warstwą tekstu, albo w formacie hocr. Te wszystkie GUI (YAGF, gImageReader, OCRFeeder) wypuszczają tylko albo czysty tekst, albo kiepsko go dopasowują do obrazków. Jest co prawda ogólnie niezły gscan2pdf, ale akurat warstwę tekstu wbudowuje niezbyt dobrze (przynajmniej u mnie). Próbowałem jeszcze VietOCR, który wydaje się nieco bardziej rozbudowany, ale po pierwsze nie jest “natywny”, a po drugie i tak na wyjściu nie pozwala na zapisanie pliku z warstwą tekstu dopasowaną do warstwy obrazu, albo ze sformatowanym tekstem. Na razie pod Linuksem sensowne wyniki związane z OCR i formatami pdf/djvu da się osiągnąć chyba tylko używając Tesseracta i innych programów/skryptów CLI. Nie przeszkadza mi to o tyle, że jeśli się postarać, wynik może być lepszy niż po obróbce Acrobatem (chociaż oczywiście proces nie będzie tak automatyczny). Z Finereaderem nie ma na razie porównania.

  2. Niestety najsensowniejszym rozwiązaniem jest użycie Fine Readera przy pomocy wine. Osobiście sprawdzałem wersję 8.x nawet znośnie się pracowało. Ale to niestety komercyjne rozwiązanie 🙁

  3. “Kwestia OCR na Linuksie był zawsze dla mnie niczym tabu.” A dla mnie nie. FineReader od zawsze był na Linuksa, co prawda płatny, chyba, że kupiłeś skaner z kluczem :). Pod WINE też działa.

  4. Ja wykorzystuję gscan2pdf w większości przypadków jedynie do przetwarzania obrazu. W niektórych przypadkach, wspomagam programem scantailor. Gscan2pdf u mnie działa dobrze, ale i tak dalsze etapy przetwarzania wolę zrobić zwyczajnie. Samo przetwarzanie do djvu robię programem minidjvu z opcją -l (najlepsza kompresja obrazów PBM) i dodaję warstwę tekstową za pomocą ocrodjvu.

  5. Ja z kolei najpierw obrabiam ScanTailorem, a potem przepuszczam przez djvubind. Też dobrze kompresuje i od razu dodaje tekst.

  6. A nie trzeba czasem instalować poleceniem sudo apt-get install tesseract-gui tesseract-ocr-pol? Po uprzednim dodaniu repo

    ppa:ferramroberto/lffl.

  7. Tak,sa troche inne nazwy pakietów,czyli:

    sudo add-apt-repository ppa:ferramroberto/lffl
    sudo apt-get update
    sudo apt-get install tesseract-gui tesseract-ocr-pol tesseract-ocr-eng

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Post comment

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.