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).
Choć temat OCR był na Linuksie poruszany już przez wiele projektów, każde z tych rozwiązań miało jakieś niedomówienia. A to brakowało sensownego eksportu, a to brak współpracy ze skanerem, a to znowu coś innego. Na dodatek, silniki rozpoznawania tekstu na Linuksie osiągnęły przyzwoity poziom dopiero parę lat temu (jak to się stało, Abbyy wydało tekstowe i zamknięte rozwiązanie na ich silniku). Lios to popełnione w Pythonie zgrabne GUI próbujące wzbogacić dotychczasowe osiągnięcia deweloperów wolnego oprogramowania. Wspomniane na początku cechy to zaledwie początek jego możliwości:
- importowanie obrazu ze skanerów, plików PDF, zdjęć (plików graficznych) lub kamerki internetowej,
- tworzenie i rozpoznawanie tekstu ze zrzutów ekranu,
- rozpoznawanie w obrębie zaznaczonych przez nas obszarów,
- dwa silniki OCR (Cuneiform,Tesseract),
- wsparcie dla 24 języków (w tym dla języka polskiego – wymagana paczka tesseract-ocr-pol),
- autoobrót obrazów dla jakiekolwiek języka,
- jednoczesny widok źródła i wyniku,
- zaawansowana optymalizacja skali jasności skanera,
- konfiguracja okna z wynikami (fonty, kolory),
- czytanie tekstu (espeak),
- sprawdzanie pisowni (aspell),
- eksport do formatu pdf (tekst, obrazy),
- opcja zapisu i odczytu ustawień,
- Inne – Find, Find-and-Replace, Go-To-Page, Go-To-Line, Append file, Punch File,
Selection of starting page number, page numbering mode and number of pages to scan,
Selection of Scan area, brightness, resolution and time between repeated scanning,
Output Insert position, image rotation and zoom options, etc
Całość jest zgrabnie poukładana i w programie da się pracować bez większego zastanawiania się „co deweloper miał na myśli”. Wczytujemy obraz (skanujemy), zaznaczamy obszary (lub nie), rozpoznajemy tekst i na koniec poprawiamy formatowanie, ortografię i niedoskonałości w odczycie. Lios ma bardzo miło opcję autokorekty – wyświetla problematyczne ciągi znaków i proponuje, jaki wyraz mógłby to być. Co więcej – program posiada opcję nauki Tesseract znaków, automatycznego obracania i dopasowywania skanów, a także możliwość wyrecytowania rozpoznanego tekstu. Oczywiście dla większości z tych narzędzi potrzebne są dodatkowe paczki (na szczęście z domyślnych repozytoriów). Lios jest nadal aktywnie rozwijany i w przyszłości może nas jeszcze niejednym zaskoczyć.
Program znajdziemy w większości repozytoriów najpopularniejszych dystrybucji. Aby przetestować go pod Ubuntu 16.04, Mintem 18.xx i pochodnymi, należy
sudo apt-get install lios
Aby było możliwe rozpoznawanie polskich znaków, potrzebujemy jeszcze odpowiedniej paczki Tesseract:
sudo apt-get install tesseract-ocr-pol
W Manjaro i Arch Linuksie potrzebujemy wykonać polecenie:
yaourt -S lios-git
Ze względu na to, że mi jak zwyke Lios się buduje, ale działać nie chce, to proponuję Gimagereadera zbudowanego na Qt5 (kod umożliwia budowę na Qt4, Qt5 oraz Gtk – ta ostatnia wersja jest w AUR, pierwszej nie mam ochoty wspierać): http://linux-pavbaranov.blogspot.com/2016/08/gimagereader-qt5-ocr-zbudowany-w.html
Oczywiście przepraszam za “niekrypto”-reklamę 🙂
Na Mint 18 działa.Mint XFCE.
Mint to nie Arch. Wydaje się, że PKGBUILD jest albo wadliwie zrobiony, albo ja mam inną wersję pythona w systemie (nie mam czasu teraz dociekać tego). W każdym bądź razie wysypuje się właśnie na pythonie.
Tak samo jak się w Manjaro wysypuje na pythonie ladi-system-tray,ladi-player,oraz kiedyś system-config-samba.Za nowe te paczki niektóre (python):)
To jest problem z PKGBUILDami przygotowywanymi przez osoby, które nie bardzo – chyba – mają doświadczenie. Tak w Archu, jak i w Manjaro masz dwie wersje pythona (2.x i 3). Niektóre programy wymagają jednego, inne drugiego. “Domyślnym” jest trójka, ale ta niekiedy wymaga jakichś zmian w kodzie. Jeśli coś zrobisz nie tak, jak powinno być zrobione, to aplikacja, która jest na 2 próbuje się uruchomić na 3 i odwrotnie. Itd. itp.
A z Liosem powalczę 🙂