Zawsze uważałem, że technologia OCR jest opóźniona w systemach open source. Oglądałem również projekt Ocropus od jego początków . Próbowałem tego, co słyszałem, jest najlepszym silnikiem OCR dostępnym dla Linuksa, Tesseract , i okazało się, że bardzo brakuje mu dokumentów biznesowych. Czy są jeszcze jakieś bardziej obiecujące implementacje OCR? Co z jeszcze bardziej obiecującym celem interpretacji pisma ręcznego? Co jest możliwe w systemach * nix w tej dziedzinie?
opensource-projects
ocr
documents
jjclarkson
źródło
źródło
Odpowiedzi:
Tesseract
Od 2018 roku najlepszym dostępnym oprogramowaniem OCR typu open source jest Tesseract 4 (beta) z nowym modelem OCR sieci neuronowej LSTM . Jego wydajność OCR jest znacznie lepsza niż w poprzednim modelu OCR stosowanym w wersji 3.
Przykład (utwórz plik PDF
output.pdf
z warstwą tekstową dla zeskanowanego dokumentu niemieckiego):Wydrukuj rozpoznany tekst na standardowe wyjście:
Wyświetl listę zainstalowanych języków:
Obsługa całkiem wielu języków / skryptów jest dostępna w postaci szkolonych zestawów danych do pobrania , np. Istnieje nawet zestaw danych dla Fraktur.
Dzięki nowemu modelowi LSTM Tesseract czerpie inspirację z projektu badawczego OCRopus .
Wersja 3 Tesseract radzi sobie stosunkowo źle nawet w przypadku obrazów wejściowych dobrej jakości, tzn. Często fałszywie wykrywa pojedyncze znaki w pikselach pyłu (poza dowolnym kontekstem tekstowym) i łatwo wprowadza błędy pojedynczych znaków w dobrze znanych słowach.
Klinowy
Wydajność Cuneiform OCR nie jest taka zła, ale nie jest aktywnie utrzymywana (ostatnia wersja w 2011 r., Wersja 1.1) i łatwo ulega awarii i ma kilka innych problemów:
Możesz wyłączyć algorytm układu w następujący sposób:
(
-l
określa język dokumentu źródłowego)ocrad
Tekst jest drukowany domyślnie na standardowe wyjście.
W dokumencie biznesowym brakowało podkreślonego słowa, w przeciwieństwie do pisma klinowego / tesseract / gocr.
gocr
Tekst jest drukowany domyślnie na standardowe wyjście.
Sprzęt komputerowy
Sane ma bardzo dobre wsparcie dla wielu skanerów z automatycznym podawaniem dokumentów (ADF), np. Dla skanerów Avision i Fujitsu .
Do Sane dołączony jest
scanimage
program wiersza poleceń, którego można użyć do budowy potoków skanowania za pomocą skryptów (patrz np. Mójadf2pdf.py
skrypt).źródło
Znalazłem podobne pytanie na StackOverflow, a Asprise OCR SDK , jeden z powiązanych komercyjnych produktów, może pochwalić się wersją Linux.
źródło
Istnieje kilka popularnych narzędzi wiersza polecenia OCR:
Tesseract ( ReadMe , FAQ ) (Python)
Dostępne również dla: Tesseract .NET , Tesseract iOS
Stosowanie:
Przykład: Udostępnij istniejący plik PDF do wyszukiwania (OCR) za pomocą wiersza polecenia / skryptu
GOCR
OCRopus ™ ( FAQ ) (napisane w Python, NumPy i SciPy)
Tessnet2 (Open source, OCR, Tesseract, .NET, DOTNET, C #, VB.NET, C ++ / CLI)
Inne już zasugerowane: ABBYY CLI OCR dla Linux , Asprise OCR .
Czytaj także:
Aby uzyskać bardziej kompletną listę, sprawdź: Lista oprogramowania do optycznego rozpoznawania znaków z Wikipedii.
źródło
... OCR to coś więcej niż „tylko rozpoznawanie znaków”. Obsługa obrazów, przetwarzanie wstępne - analiza strony / układu w celu znalezienia tekstów, obrazów, tabel lub kodów kreskowych. Aby rozpoznać, musisz radzić sobie z różnymi czcionkami, rozmiarami i językami. Jest to ważne, ponieważ aby uzyskać dobre wyniki, musisz korzystać ze słowników i definicji języka. Wreszcie ludzie oczekują więcej opcji eksportu niż tekst (np. XML, RTF lub PDF z możliwością wyszukiwania). Istnieje kilka opcji komercyjnych dla zestawów SDK, ale nie są one tanie i bezpłatne.
Ostatnio znalazłem OCR CLI dla Linuksa od ABBYY . Jest darmowa próbna strona 100.
źródło
Jeśli masz budżet, zdecydowanie polecam interfejs ABBYY FineReader Engine CLI dla systemu Linux . Nasza firma używa go w naszej aplikacji internetowej od roku i planujemy odnowić licencję. Bardzo dobra jakość rozpoznawania, interfejs wiersza poleceń, rozpoznawanie w wielu językach.
źródło