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.

OCRFeeder - tekst z gazety
OCRFeeder – tekst z gazety
Zasad działania takiego programu nie trzeba chyba nikomu wyjaśniać. OCRFeeder wpisuje się w ogólnie przyjęte przy OCR standardy, czyli potrafi wczytać do projektu strony dokumentów prosto ze skanera lub z importowanych dokumentów pdf. Nie stroni również od zwykłych plików graficznych, które za pomocą unpaper przetwarza do formy najbardziej przyjaznej dla mechanizmu odpowiedzialnego za rozpoznawanie tekstu (czyli wyrównuje, konwertuje do odcieni szarości, filtruje szumy, itp.). Jedyne co pozostaje użytkownikowi, to wybrać pożądany fragment strony, który ma zostać rozpoznany, lub rozpoznawać całe strony – OCRFeeder doskonale sobie radzi z automatycznym określaniem granic kolumn i szpalt. Nasze preferencje językowe program wykryje samodzielnie na podstawie ustawień systemowych, a jeżeli tego nie uczyni, zawsze możemy dokonać takiego wyboru ręcznie. Efekty pracy programu możemy wyeksportować do formatów odt, pdf, xml lub czystego tekstu.

Wspomniany Tesseract to nie jedyny silnik rozpoznający tekst obsługiwany przez OCFeeder – program może korzystać również z innych – CuneiForm, GOCR, Ocrad. Niestety, nie każdy radzi sobie poprawnie z naszym rodzimym narzeczem.

OCRFeeder w wersji dla Ubuntu/Minta zainstalujemy wprost z repozytoriów, pamiętając o doinstalowaniu obsługi naszego języka przez Tesseract.

sudo apt-get install ocrfeeder tesseract-ocr-pol

W Manjaro/Arch wykorzystamy podstawowe repozytoria:

sudo pacman -Sy ocrfeeder tesseract-data-pol 

9 komentarzy

  1. Dzięki za linka, za często nie używam OCR, ale czegoś takiego brakowało mi pod Linuksem. Mam nadzieję, że będzie się spisywał co najmniej poprawnie 🙂

  2. [code]
    $ ocrfeeder

    Traceback (most recent call last):

    File “/usr/bin/ocrfeeder”, line 31, in

    from ocrfeeder.studio.studioBuilder import Studio

    File “/usr/lib/python2.7/site-packages/ocrfeeder/studio/studioBuilder.py”, line 26, in

    import widgetPresenter

    File “/usr/lib/python2.7/site-packages/ocrfeeder/studio/widgetPresenter.py”, line 42, in

    import gtkspell

    ImportError: No module named gtkspell

    $
    [/code]
    I kiszka 🙁
    Jak to możliwe? Przecież zawsze kochałem linuksa!
    😀

  3. Przydatny program i w miarę z czytelnym tekstem radzi sobie rewelacyjnie. Jednak z zrzutem ekranu zapisanym do JPG w LibreOffice Draw jest już gorzej (specjalnie tak zrobiłem, żeby pogorszyć jakość). 14! lat temu w jakimś programie na “wiodącym” systemie przy poprawianiu tekstu automatycznie podświetlało fragment obrazka-tekstu, który poprawiałem. To pikuś, skalowało obrazek do większej rozdzielczości i wtedy przetwarzało i to było super rozwiązanie, ale efekty końcowe jak na tamte czasy i tak były raczej średnie, a czasami nawet mizerne.
    Przy kiepsko zeskanowanym tekście lepiej wcześniej otworzyć taki skan w chociażby Gimpie i zwiększyć mu rozmiar, poprawić kontrast, dopasować poziomy, bo jak człowiek swoim okiem jest w stanie łatwo rozpoznać tekst, to OCRFeeder też bez problemu sobie poradzi. Jest to dobry program, są jednak od niego znacznie lepsze (nie na Linuksa) komercyjne programy, jednak jako otwarty i darmowy pragram jest bezkonkurencyjny i jak będę miał potrzebę, to będę z niego korzystał. Twórcą kibicuję w dalszym rozwoju 🙂

  4. Jest taki pakiet python-gtkspellcheck. Tak się nazywa w Archu pod Ubuntu może ciut inaczej. Poszukaj: apt-cache search gtkspellcheck | grep python

  5. Jeżeli kotoś ma problem w rodzaju:

    $ ocrfeeder
    cat: /tmp/ocrfeeder_6BSEx0/tmpUkGShR.txt: Nie ma takiego pliku ani katalogu

    To musi pamiętać o poprawnej instalacji Tesseract. Dokładnie mówię tutaj o plikach językowych. Sprawdźcie czy macie katalog /usr/share/tessdata/ a w nim plik pol.traineddata. Jeśli nie macie pobierzcie go stąd: https://code.google.com/p/tesseract-ocr/downloads/list

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.