przystajnik

Archiwum tagów la ocr

Linux Intelligent OCR Solution 2.2

Nieco przydługa nazwa tytułowego programu w sieci funkcjonuje pod skrótem Lios. Ale Lios nikomu nic nie powie, a coś z OCR w tytule – a i owszem. Program jest bowiem kolejną wariacją na temat ułatwienia naszej pracy podczas konwertowania znaków z formatu graficznego do edytowalnego tekstu. Dlaczego jest on wart uwagi? Przede wszystkim ładnie integruje się ze skanerami i pozwala skanowany materiał wczytywać bezpośrednio do programu, obsługuje dwa silniki rozpoznawania znaków – CuneiForm oraz osławiony Tesseract. W komplecie otrzymujemy też opcję eksportu wyników do pliku pdf (co nie zawsze w innych programach jest tak oczywiste).

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ć.

OCR z gImageReader 2.93

Ponieważ wspomniany parę dni temu program OCRFeeder nie każdemu przypadł do gustu, warto przychylnym okiem spojrzeć na zaktualizowany niedawno gImageReader 2.93. Program takiego samego przeznaczenia, czyli szeroko pojętego usprawnienia procesu wyodrębniania tekstu z obrazów. Nieco inna zasada działania, nieco częstsze aktualizacje, czytelny interfejs czynią z gImageReadera też ciekawą ofertę na potrzeby OCR.

OCRFeeder 0.7.11 i zamiana obrazu w tekst

Dziedzina OCR przez lata była zaniedbana na Linuksie, by nie powiedzieć, że leżała odłogiem. Podczas gdy na wiodących platformach istniały niemal kombajny do wyodrębniania z obrazów słowa pisanego, użytkownicy Linuksa nie mieli większego wyboru, niż uruchamianie tychże kombajnów za pomocą WINE i to z różnym skutkiem. Jednak od tych mrocznych wieków minęło nieco czasu, powstało kilka projektów i tak oto możemy się cieszyć w miarę komfortowym rozpoznawaniem tekstu, choćby za pomocą programu OCRFeeder oraz silnika Tesseract.

Wstydliwe dzieje OCR

Tak jak w domu powieszonego nie rozmawia się o sznurze, tak w przypadku Linuksa i oprogramowania do rozpoznawania tekstu lepiej zachować milczenie. A przynajmniej do jakiegoś czasu temat był na tyle wstydliwy, że w dobrym tonie leżało omijanie go szerokim łukiem. Jednak z biegiem lat temat OCR dla Linuksa malutkimi kroczkami rozwijał się do jako takiej używalnej formy, a przełomem stał się otwarto-źródłowy silnik Tesseract. W przeciwieństwie do wielu akademickich projektów, ten silnik miał istotną przewagę – potrafił rozpoznawać litery, jak też za jego rozwojem stało/stoi Google. Na dodatek, w repozytoriach najnowszego wydania Ubuntu 12.04 pojawiła się w końcu paczka umożliwiająca obsługę języka polskiego (tesseract-ocr-pol), co niewątpliwie zwiększyło atrakcyjność tej pozycji – przynajmniej dla osób posługujących się językiem polskim. Żeby nie było do końca różowo, program jest przeznaczony do niewygodnej obsługi z poziomu terminala. Jednak powstało kilka graficznych nakładek rozwiązujących tę niedogodność i jedną z nich jest program gImageReader. Dlaczego akurat ten projekt? Bo nie wybrzydzał przy obsłudze naszego rodzimego dialektu (niektóre programy nie zechciały pokazać dostępnego języka polskiego), umożliwia obroty obrazu (to takie oczywiste) i nie jest skomplikowany w obsłudze. Na dodatek można nim uzyskać zupełnie przyzwoite efekty konwersji zeskanowanych tekstów, a jeszcze lepsze podczas przeróbki plików .pdf. Pomimo dość ubogiej liczby opcji, mamy tutaj pod ręką wszystko co może się przydać – obrót grafiki, jasność i kontrast obrazu, oraz jego rozdzielczość. Zmiana rozdzielczość przydatna jest w przypadku niemrawych skanów i wspomaga dokładność algorytmów rozpoznających znaki. Niestety, materiały muszą zostać uprzednio zeskanowane (?) i dopiero wczytane do programu (plik graficzny bądź pdf).Po wczytaniu skanu/skanów, możemy przystąpić do całościowego rozpoznania, bądź wybrania konkretnych rejonów (niebieska ramka). Wynik otrzymamy w kolumnie po prawej stronie, skąd możemy skopiować go do dalszej obróbki w edytorze tekstu. Poniżej mały test rozpoznawania polskiego słowa pisanego i wydrukowanego na papierze gazetowym w okolicach 1960 roku. Przykład zawiera efekt rozpoznania znaków przy 100% rozdzielczości materiału wejściowego (DPI 100%), 200% (DPI 200%) oraz 400% (DPI 400%).

gImageReader w akcji

Pomimo dość charakterystycznej i niewyraźnej czcionki gazetowej, wynik jest całkiem przyzwoity. Oczywiście przy porównaniu do osiągów i stopnia rozbudowania komercyjnych programów można marudzić, ale w obliczu tego co reprezentowało OCR dla Linuksa parę lat temu – jest świetnie.Instalacja dla Ubuntu 12.04 oraz Minta 13 jest nieco wyboista – bo aby zainstalować gImageReader musimy ściągnąć paczkę .deb ze strony projektu, oraz dopilnować, żeby w systemie znalazły się wszystkie zależności. Zatem:sudo apt-get install tesseract-ocr tesseract-ocr-pol python-gtk2 python-cairo python-gtkspell python-enchant python-popplerI dopiero wtedy klikamy dwukrotnie na pobraną paczkę .deb z gImageReader.

Translate »