OCR

Installieren Sie Tesseract OCR unter Linux

Installieren Sie Tesseract OCR unter Linux

Tesseract: Eine kostenlose OCR-Lösung

Einführung

Tessereact gilt als eine der besten verfügbaren OCR-Lösungen. Seit 2006 wird es von Google gesponsert, zuvor wurde es zwischen 1985 und 1998 von Hewlett Packard in C und C++ entwickelt.   Das System ist in der Lage, selbst Handschriften zu erkennen, es kann lernen, um seine Genauigkeit zu erhöhen, und gehört zu den am weitesten entwickelten und vollständigsten auf dem Markt.

Es schlägt kommerzielle Konkurrenten wie ABBY leicht. Wenn Sie nach einer ernsthaften Lösung für OCR suchen, ist Tesseract die genaueste, aber erwarten Sie keine massiven Lösungen: Es verwendet einen Kern pro Prozess, was einen 8-Kern-Prozessor (Hyperthreading) bedeutet akzeptiert) können 8 oder 16 Bilder gleichzeitig verarbeiten.

Als ich Tesseract verwendet habe, haben wir Tausende potenzieller Kunden verwaltet, die handschriftliche Inhalte, Bilder mit Text usw. hochgeladen haben. Wir haben 48 Core-Server verwendet, mit DatabaseByDesign und dann mit AWS hatten wir nie ein Ressourcenproblem.

Wir hatten einen Uploader, der zwischen Textdateien wie Microsoft Office- oder Open Office-Dateien und Bildern oder gescannten Dokumenten unterschied. Der Uploader hat bestimmt, was die OCR- oder PHP-Skripte im Bereich der Texterkennung verarbeiten würden.

Tesseact ist eine großartige Lösung, aber bevor Sie darüber nachdenken, müssen Sie wissen, dass die letzten Versionen von Tesseract große Verbesserungen gebracht haben, einige davon bedeuten harte Arbeit. Während das Training Stunden oder Tage dauern kann, kann das Training der neueren Tesserct-Versionen Tage, Wochen oder sogar Monate dauern, wenn Sie nach einer mehrsprachigen OCR-Lösung suchen.


Tesseract 4 unter Debian / Ubuntu installieren:

apt-get install tesseract-ocr

Wenn Sie eine andere Linux-Distribution verwenden, müssen Sie die letzte Version des Github-Repositorys kopieren und die .trainiertedata-Datei in 'tessdata' (/usr/share/tesseract-ocr/tessdata oder /usr/share/tessdata).

Standardmäßig installiert Tesseract das englische Sprachpaket, um zusätzliche Sprachen zu installieren

apt-get install tesseract-ocr-LANG

um beispielsweise Hebräisch hinzuzufügen:

apt-get install tesseract-ocr-heb

Sie können alle Sprachen einschließen, indem Sie ausführen:

apt-get install tesseract-ocr-all

Damit Tesseract richtig funktioniert, müssen wir den Befehl "Konvertieren" verwenden (zwischen Bildformaten konvertieren sowie die Größe eines Bildes ändern, verwischen, zuschneiden, Flecken entfernen, Dithern, Zeichnen, Spiegeln, Zusammenfügen, Re-Sampling und vieles mehr) zur Verfügung gestellt von Imagemagick:

Lassen Sie uns imagemagick mit apt-get installieren:

apt-get install imagemagick

Lassen Sie uns nun Tesseract testen, ein Bild mit Text finden und ausführen:

tesseract [Bildname] [Ausgabedateiname]

Bei richtiger Installation extrahiert Tesseract den Text aus dem Bild.

Als ich mit Tesseract arbeitete, brauchten wir nur Dokumente, die Wörter zählen. Wie bei jedem anderen Programm, das Sie trainieren können und müssen, können wir in Word einige Symbole definieren, die gezählt werden können oder nicht, ob Zahlen zählen oder nicht usw. das gleiche mit Tesseract.

Wir können auch die Sensibilität für bestimmte Bilder trainieren.


Tesseract-Optimierung:

Größenoptimierung: Laut offiziellen Quellen beträgt die optimale Pixelgröße für ein Bild, das von Tesseract erfolgreich verarbeitet werden kann, 300 DPI. Wir müssen jedes Bild mit dem Parameter -r verarbeiten, um diese DPI zu erzwingen. Eine Erhöhung der DPI erhöht auch die Verarbeitungszeit.

Seitenrotation: Wenn die Seite beim Scannen nicht richtig gedreht wurde und bei 180° oder 45° bleibt, nimmt die Genauigkeit von Tesseract ab. Sie können dieses Python-Skript verwenden, um Rotationsprobleme automatisch zu erkennen und zu beheben.

Grenzentfernung: Laut dem offiziellen Mann von Tesseract können Grenzen fälschlicherweise als Zeichen ausgewählt werden, insbesondere dunkle Grenzen und dort, wo Abstufungen vorhanden sind. Das Entfernen von Rändern kann ein guter Schritt sein, um mit Tesseract . die maximale Genauigkeit zu erreichen.

Entfernen von Rauschen: Laut Tesseracts ist Rauschen „zufällige Helligkeits- oder Farbvariationen in einem Bild“. Wir können es im entfernen Binarisierung Schritt, was bedeutet, seine Farben zu polarisieren.


Trainings-Tesserakt:

Während die meisten Tutorials nur die Installation von Tesseract behandeln, werde ich zusammenfassen, wie Sie Ihr OCR-System trainieren. Hier finden wir ein Tutorial für alle Versionen. In diesem Artikel werde ich zusammenfassen, wie man Tesseract 4 trainiert, das ein neues enthält „Neural-Netzwerk-basierte Erkennungs-Engine, die eine deutlich höhere Genauigkeit (bei Dokumentenbildern) als die Vorgängerversionen bietet, im Gegenzug für eine deutlich höhere erforderliche Rechenleistung. Bei komplexen Sprachen kann es jedoch tatsächlich schneller sein als das Basis-Tesseract.”

Bevor wir fortfahren, müssen wir zusätzliche Bibliotheken installieren:

sudo apt-get install libicu-dev
sudo apt-get install libpango1.0-dev
sudo apt-get install libcairo2-dev

Und wir werden die Trainingstools installieren, indem wir sie im Tesseract-Verzeichnis ausführen:

machen
Ausbildung machen
sudo make training-install

Laut dem offiziellen Wiki von Tesseract haben wir derzeit 3 ​​Möglichkeiten, unser OCR-System zu trainieren:

Obwohl die oben genannten Optionen anders klingen mögen, sind die Trainingsschritte, abgesehen von der Befehlszeile, tatsächlich fast identisch, sodass es relativ einfach ist, alle Möglichkeiten auszuprobieren, wenn man die Zeit oder die Hardware für die parallele Ausführung berücksichtigt.”

In diesem Tutorial werden wir nur den Testtrain ausführen.sh-Skript, das notwendige Programme aufruft, um eine bestimmte Sprache zu trainieren.

Lassen Sie uns zunächst alle Dateien in unserem /usr/share/tesseract-ocr klonen:

git-Klon https://github.com/tesseract-ocr/tesseract

Gehen Sie zu /usr/share/tesseract-ocr/tesseract/training (das Standardinstallationsverzeichnis von Tesseract) und führen Sie Folgendes aus:

$ ./testtrain.sh --lang heb --langdata_dir /usr/share/tesseract-ocr/langdata --tessdata_dir /usr/share/tesseract-ocr/tessdata 

Ändern Sie „heb“ für die Sprache, die Sie trainieren möchten, und bearbeiten Sie auch den Pfad zu Ihren Daten.

Im Verzeichnis /usr/share/tesseract-ocr/tesseract/training finden Sie die Datei sprachspezifisch.sh nützlich, um Regeln für bestimmte Sprachen hinzuzufügen.


Fehlerbehebung

Tesseract ist für mich die beste OCR-Lösung, aber in letzter Zeit wurden große Änderungen gegenüber den früheren Versionen vorgenommen und viele Benutzer beschweren sich über Änderungen oder Dinge, die nicht mehr funktionieren. Die Tesseract-Community ist sehr aktiv, falls Sie Probleme beim Ausführen von Tesseract haben, werden Sie hier Teil der Tesseract-Community.

So zeigen Sie OSD-Overlay in Vollbild-Linux-Apps und -Spielen an
Das Spielen von Spielen im Vollbildmodus oder die Verwendung von Apps im ablenkungsfreien Vollbildmodus kann Sie von relevanten Systeminformationen ab...
Top 5 Karten zur Spielaufnahme
Wir alle haben Streaming-Gameplays auf YouTube gesehen und geliebt. PewDiePie, Jakesepticye und Markiplier sind nur einige der Top-Gamer, die Millione...
So entwickeln Sie ein Spiel unter Linux
Vor einem Jahrzehnt hätten nicht viele Linux-Benutzer vorhergesagt, dass ihr Lieblingsbetriebssystem eines Tages eine beliebte Spieleplattform für kom...