Jakie jest najlepsze, najprostsze rozwiązanie OCR?

77

Chciałbym zeskanować sporą liczbę papierów, które leżą wokół, przy najmniejszym możliwym problemie. Chciałbym przekonwertować je na obrazy za pomocą Simple Scan, a następnie przekonwertować na tekst za pomocą OCR. Czy jest dobra aplikacja OCR z GUI, która da mi dobre wyniki za naciśnięciem jednego przycisku?

Bou
źródło
Naprawdę potrzebujemy dużo przeróbek w tym wątku. Tyle starych / zdeprecjonowanych / ... rzeczy. Brak testów jednowarstwowych. Najczęściej kopiowane wyniki / listy tutaj. Brak zapewnienia jakości.
Léo Léopold Hertz
W 2018 r. Najprostsze rozwiązanie OCR korzysta z interfejsu internetowego ocr : Google Vision OCR, Azure OCR lub bezpłatny interfejs OCR.space OCR API zapewniają wysokiej jakości wyniki OCR - oczywiście tylko wtedy, gdy twoja aplikacja / zastosowanie pozwala na rozwiązanie w chmurze .
Nic Endo,

Odpowiedzi:

70
  • GOCR from to program OCR (Optical Character Recognition), który konwertuje zeskanowane obrazy tekstu z powrotem do plików tekstowych.

  • CLARA to kolejna dobra opcja graficzna.

  • OCRAD from to OCR może być używany jako samodzielna aplikacja konsolowa lub jako backend do innych programów.

  • KOOKA from to aplikacja KDE, ale działa dobrze, ponadto musisz zainstalować rzeczywiste programy OCR, takie jak GOCR i OCRAD. Po zainstalowaniu Kooka i programów OCR, musisz wskazać Kooka lokalizację instalacji OCR, aby mogła przekonwertować JPEG na tekst.

  • OCRFeeder ze jest analiza dokumentów i układ optyczny system rozpoznawania znaków.

  • Tesseract ze to narzędzie wiersza poleceń i jest bardzo prosty w use.You można zainstalować pakiet językowy tesseract-OCR-eng od tutaj .

Spójrz na tę stronę .

Uwaga:
Aby uruchomić terminal goto tesseract i wpisz następujące polecenie

tesseract imagefile.tif outputfile.txt

Tesseract może odczytać tylko plik TIFF - jeśli masz plik JPEG, PDF lub cokolwiek innego, musisz go przekonwertować. Ponadto rozszerzenie nazwy pliku musi mieć rozszerzenie .tif, a nie .tiff, w przeciwnym razie wystąpią błędy.

karthick87
źródło
1
Jeśli mówionym językiem nie jest angielski? czy są jakieś rozszerzenia dla innego języka?
Vassilis,
3
@Vassilis: Systemy OCR są niezależne od języka, ponieważ rozpoznają znaki, a nie słowa. Jeśli jednak twój alfabet nie zawiera znaków alfabetu łacińskiego 1 (np. Cyrylicy), może go brakować.
OpenNingia,
2
@OpenNingia: Język może być ważny, nawet w systemach pisania wykorzystujących litery łacińskie. Pomaga OCR w rozróżnianiu niejednoznacznych liter.
Frédéric Grosshans,
13
Takie pytania / odpowiedzi naprawdę psują askubuntu. Osoba zapytała „jakie jest najlepsze, najprostsze rozwiązanie OCR”, a nie „jakie są wszystkie aplikacje OCR dostępne dla Linuksa”. To rozwiązanie nie powinno zostać zaakceptowane! Naprawdę mylące i nie pomocne.
Alin Andrei,
1
Obecny Ubuntu tesseract(3.04.00 na Ubuntu 15.10) nie ma problemów z PNGplikami wejściowymi. akceptuje JPGpliki, ale daje im gorszy wynik, jak można się spodziewać po dodatkowych artefaktach kompresji.
Volker Siegel,
10

Istnieje kilka popularnych narzędzi wiersza polecenia OCR, których można użyć (nie jestem pewien, czy mają GUI):

  • Tesseract ( ReadMe , FAQ ) (Python)

    Dostępne również dla: Tesseract .NET , Tesseract iOS

    Silnik OCR, który został opracowany w HP Labs w latach 1985-1995 ... a teraz w Google. Tesseract jest prawdopodobnie najdokładniejszym dostępnym silnikiem OCR dostępnym na rynku.

    Stosowanie:

    tesseract [inputFile] [outputFile] [-l optionalLanguageFile] [PathTohOCRConfigFile]
    
  • GOCR

    Rozpoznawanie znaków typu open source. Konwertuje zeskanowane obrazy tekstu z powrotem na pliki tekstowe. GOCR może być używany z różnymi interfejsami, co bardzo ułatwia przenoszenie do różnych systemów operacyjnych i architektur. Może otwierać wiele różnych formatów obrazu, a jego jakość poprawia się z dnia na dzień.

  • OCRopus ™ ( FAQ ) (napisane w Python, NumPy i SciPy)

    System OCR koncentrujący się na wykorzystaniu uczenia maszynowego na dużą skalę do rozwiązywania problemów w analizie dokumentów, obejmujący wtykową analizę układu, wtykowe rozpoznawanie znaków, statystyczne modelowanie języka naturalnego i możliwości wielojęzyczne.

    Silnik OCRopus opiera się na dwóch projektach badawczych: wysoko wydajnym narzędziu do rozpoznawania pisma ręcznego opracowanym w połowie lat 90. i wdrożonym przez amerykańskie biuro spisowe oraz nowatorskich, wysokowydajnych metodach analizy układu.

    Program OCRopus jest sponsorowany przez Google i początkowo jest przeznaczony do wysokowydajnych, dużych nakładów na konwersję dokumentów. Oczekujemy, że będzie to również doskonały system OCR do wielu innych zastosowań.

  • Tessnet2 (Open source, OCR, Tesseract, .NET, DOTNET, C #, VB.NET, C ++ / CLI)

    Tesseract to silnik OCR typu open source w języku C ++. Tessnet2 to zestaw .NET, który ujawnia bardzo proste metody wykonywania OCR. Tessnet2 jest objęty licencją Apache 2 (jak tesseract), co oznacza, że ​​możesz go używać tak, jak chcesz, zawartego w produktach komercyjnych.

Kilka innych: ABBYY CLI OCR dla Linux , Asprise OCR

Aby uzyskać bardziej kompletną listę, sprawdź: Lista oprogramowania do optycznego rozpoznawania znaków z Wikipedii

Zobacz także: wanghaisheng/awesome-ocr- Wyselekcjonowana lista obiecujących zasobów OCR w GitHub.

kenorb
źródło
9

rozwiązanie linux-intelligent-ocr

zrzeczenie się odpowiedzialności - jestem ściśle związany z opracowaniem tego rozwiązania typu open source

Lios może konwertować wydruk na tekst za pomocą skanera lub aparatu.

Może także tworzyć tekst ze skanowanych obrazów z innych źródeł, takich jak PDF, obraz lub folder zawierający obrazy.

Program ma całkowitą dostępność dla osób niedowidzących.

Ponieważ jestem blisko związany - chętnie przesyłam opinie.

Nalin.x.Linux
źródło
Gdzie jest dokumentacja użytkowania? Lios nie jest tak intuicyjny, jak się spodziewałem.
koder
Projekt został przeniesiony tutaj .
Suzana
Czy można uruchomić go za pomocą wiersza poleceń tylko w trybie bezgłowym na serwerze?
Deadlock
8

Gscan2PDF

OCR na wielostronicowych plikach PDF lub zeskanowanych dokumentach

To chyba najłatwiejszy sposób. Gscan2pdf to narzędzie graficzne, które pozwala nie tylko skanować pliki, ale także importować pliki i wykonywać na nich OCR. Zainstaluj gscan2pdf stąd Zainstaluj gscan2pdf , z Centrum oprogramowania Ubuntu lub uruchamiając to polecenie w terminalu:

sudo apt-get install gscan2pdf
  • Uruchom gscan2pdf
  • Zaimportuj pdf (Ctrl + O)
  • Opcjonalnie: Narzędzia> Oczyść
  • Wybierz Narzędzia> Zapisz OCR (Ctrl + S)

Gscan2PDF może korzystać z dostosowywanych silników OCR, domyślnie jest to tesseract-ocr

Możesz rozważyć wybór odpowiedniego języka. W takim przypadku musisz zainstalować tesseract-ocr-LANGpakiet, w którym LANGjest trzyliterowy kod języka ISO 639-2. W tej chwili masz 108 języków na repozytorium 16.04.

mxdsp
źródło
Nie mogę nic zrobić z tym oprogramowaniem. Brak wystarczającego wykrywania. Byłoby wspaniale uzyskać próbki testowe dotyczące aplikacji przed ich zaleceniami.
Léo Léopold Hertz
gscan2pdf dla 16.04 przynajmniej nie ma skrótu opcji Ctrl + i. Otwarcie pliku pdf poprawnie identyfikuje „strony do wyodrębnienia”, ale wybranie „ok” nic nie robi.
user75505,
3

Właśnie odniosłem sukces (poniżej 16.04) z pdfocr.rb . Jest to wymienione na wiki Ubuntu

Oto ppa, ale repozytorium dla 16.04 nie zostało zaktualizowane. Powyższy skrypt ruby ​​z github nadal działa z 16.04.

Możesz pobrać go z Github. Będziesz potrzebował następujących pakietów:

ruby tesseract-ocr pdftk exactimage

następnie uczynił plik pdfocr.rb wykonywalnym i uruchomił:

./pdfocf.rb -i source.pdf -o output.pdf

Opcjonalnie możesz użyć -l LANGparametru. W takim przypadku musisz zainstalować tesseract-ocr-LANGpakiet, w którym LANGjest trzyliterowy kod języka ISO 639-2. W tej chwili masz 108 języków na repozytorium 16.04.

użytkownik75505
źródło
3

Najlepszym i najłatwiejszym sposobem na jego użycie pypdfocrnie jest zmiana pliku pdf. pypdfocr to link do modułu python tutaj.

pypdfocr your_document.pdf

Na koniec będziesz miał inny your_document_ocr.pdfsposób, w jaki chcesz, z tekstem do przeszukiwania. Aplikacja nie zmienia jakości obrazu. Zwiększa nieco rozmiar pliku, dodając tekst nakładki.

Myślę, że polecenie jest dość łatwe, ponieważ nie wymaga GUI. Być może instalowanie pypdfocr jest nieco bardziej szczegółowe:

sudo apt install tesseract-ocr 
pip install pypdfocr 

Aktualizacja 3 listopada 2018 r .:

pypdfocrnie jest już obsługiwany od 2016 r. i zauważyłem pewne problemy z powodu braku opieki. ocrmypdf( moduł wykonuje podobną pracę i może być używany w następujący sposób:

ocrmypdf in.pdf out.pdf

Żeby zainstalować:

pip install ocrmypdf

lub

apt install ocrmypdf
Eduard Florinescu
źródło
To bardzo interesujące narzędzie, choć myślę, że OP chciał, aby narzędzie GUI tworzyło plik tekstowy, a nie kanapkę PDF. Byłoby miło, gdybyś mógł dołączyć stronę projektu.
Andrea Lazzarotto
@AndreaLazzarotto Tak, widziałem, ale ponieważ polecenie jest takie proste, sądzę, że wiele osób może do tego użyć terminalu. więc starałem się zawrzeć tutaj rozwiązanie
Eduard Florinescu
1
Zbiegiem okoliczności niedawno odkryłem „ocrmypdf”. Sprawdziłeś to? To bardzo miłe. :)
Andrea Lazzarotto,
@AndreaLazzarotto wydaje się dobrą alternatywą, którą możesz opublikować;) Spróbuję, aby zobaczyć, jak to działa :)
Eduard Florinescu
@AndreaLazzarotto Wydaje się, że zainstalowanie ocrmypdf na Ubuntu 16.04 github.com/jbarlow83/OCRmyPDF/issues/118
Eduard Florinescu
3

Tylko dlatego, że działa bardzo ładnie i zdecydowanie powinien znajdować się na liście:

gimageReader
Przykład ze zrzutu ekranu:

wprowadź opis zdjęcia tutaj

Jest w repozytoriach (odpowiedział 18.10, ale używa go od wieków)

Jacob Vlijm
źródło
Kiedy po raz pierwszy uruchomiłem gimageReader, dałem mi komunikat „Brak dostępnych języków” dla tesseract. Odpowiedź „ Jak zainstalować nowy pakiet językowy dla tesseract ” nie wyświetla się engjako opcja ... ale udało mi się! :) Uruchomienie sudo apt install tesseract-ocr-engterminalu załatwiło sprawę. Byłoby miło, gdyby zostało to udokumentowane w pliku pomocy gimageReadera lub „README” na githubie… czy gdzieś. Być może jak tutaj.
Dɑvïd
1

gscan2pdf zawiera 3 różne silniki ocr. Możesz zeskanować bezpośrednio do programu lub zaimportować plik pdf do programu. Przekonałem się, że silnik Tesseract działa świetnie i jest bardzo łatwy w użyciu

Vince West
źródło