Wie zu Tun, OCR-aus der Linux-Kommandozeile Mit Tesseract

0
301
Fatmawati Achmad Zaenuri/Shutterstock

Sie können extrahieren von text aus Bildern auf der Linux-Kommandozeile unter Verwendung der Tesseract OCR-engine. Es ist schnell, präzise und arbeitet in über 100 Sprachen. Hier ist, wie es zu benutzen.

Optical Character Recognition

Optical character recognition (OCR) ist die Fähigkeit, zu suchen und finden, Wörter in einem Bild, und dann extrahieren Sie Sie als editierbaren text. Diese einfache Aufgabe ist für den Menschen sehr schwierig für Computer zu tun. Frühen Bemühungen waren klobig, um es gelinde zu sagen. Computer waren oft verwirrt, wenn Sie den schriftart oder die Größe war nicht die OCR-software gefallen.

Dennoch, die Pioniere in diesem Bereich waren immer noch in hohem ansehen. Wenn Sie verloren die elektronische Kopie eines Dokuments, aber immer noch eine gedruckte version, OCR könnte, neu zu erstellen ein elektronischer, editierbarer version. Auch wenn die Ergebnisse nicht zu 100 Prozent genau, das war noch eine große Zeit-Sparer.

Mit einigen manuellen Aufräumen, Sie würden Ihr Dokument zurück. Die Leute waren nachsichtig über die Fehler, die Sie gemacht, weil Sie verstanden die Komplexität der Aufgabe, vor der ein OCR-Paket. Plus, es war besser als Abtippen des gesamten Dokuments.

Die Dinge haben sich deutlich verbessert seitdem. Der Tesseract OCR-Anwendung, geschrieben von Hewlett Packard, begann in den 1980er Jahren eine kommerzielle Anwendung. Es war open-Source im Jahr 2005, und es unterstützt jetzt Google. Es hat multi-language-Fähigkeiten, gilt als eine der genauesten OCR-Systeme zur Verfügung, und Sie können es verwenden, kostenlos.

Die Installation von Tesseract OCR

Zu install Tesseract-OCR auf Ubuntu, verwenden Sie diesen Befehl:

sudo apt-get install tesseract-ocr

Auf Fedora, der Befehl ist:

sudo dnf install tesseract

Auf Manjaro, die Sie brauchen zu geben:

sudo pacman -Syu tesseract

Verwendung von Tesseract-OCR

Wir stellen eine Reihe von Herausforderungen zu Tesseract-OCR. Unser erstes Bild, das text enthält, ist ein Auszug aus Randnummer 63 des Allgemeinen datenschutzrechtlichen Bestimmungen. Mal sehen, wenn die OCR-Erkennung, die dies Lesen können (und wach bleiben).

Es ist ein heikles Bild, weil jeder Satz beginnt mit einem leisen “Hochgestellt” Nummer, das ist typisch in der legislative Dokumente.

Brauchen wir, um den tesserakt Befehl einige Informationen, einschließlich:

  • Der name der Bild-Datei, die wir wollen, es zu verarbeiten.
  • Der name der text-Datei zu erstellen halten Sie den extrahierten text. Wir habe nicht die Datei-Erweiterung (wird es immer sein .txt). Wenn eine Datei bereits mit demselben Namen vorhanden ist, wird es überschrieben.
  • Wir können die Verwendung der — – dpi-option zu sagen, tesseract, was die Punkte pro Zoll (dpi) Auflösung des Bildes ist. Wenn wir nicht mit der dpi-Wert, tesseract wird versuchen, es herauszufinden.

Unser image-Datei mit dem Namen “recital-63.png,” und die Auflösung ist 150 dpi. Wir erstellen eine text-Datei namens “recital.txt.”

Unser Befehl sieht wie folgt aus:

tesseract-recital-63.png-recital –dpi 150

Die Ergebnisse sind sehr gut. Das einzige Problem ist das hoch—Sie waren zu schwach, um korrekt gelesen werden. Eine gute Bildqualität ist entscheidend, um gute Ergebnisse zu erhalten.

tesseract hat, interpretiert die hochgestellten zahlen als Anführungszeichen (“) und gradsymbol (°), aber der eigentliche text extrahiert wurden perfekt (der rechten Seite des Bildes musste getrimmt werden, um auch hier).

Das Letzte Zeichen ist ein byte mit dem hexadezimalen Wert 0x0C, das ist ein carriage return.

Unten ist ein weiteres Bild mit text in verschiedenen Größen und sowohl Fett und Kursiv.

Der name dieser Datei ist “bold-italic.png.” Wir möchten, erstellen Sie eine Textdatei namens “bold.txt” also unser Befehl ist:

tesseract bold-italic.png bold –dpi 150

Dies ein kein Problem, und der text extrahiert wurde, perfekt.

Mit Hilfe Von Verschiedenen Sprachen

Tesseract-OCR unterstützt rund 100 Sprachen. Eine Sprache verwenden, müssen Sie es zuerst installieren. Wenn Sie die Sprache, die Sie verwenden möchten, in der Liste ist, beachten Sie seine Abkürzung. Wir gehen zum installieren der Unterstützung für Welsh. Seine Abkürzung ist “cym”, das ist die Abkürzung für “Cymru”, was bedeutet, Walisisch.

Das Installationspaket wird als “tesseract-ocr” mit der Sprache Abkürzung tagged auf das Ende. Zum installieren der walisischen Sprache-Datei in Ubuntu, verwenden wir:

sudo apt-get install tesseract-ocr-cym

Das Bild mit dem text ist weiter unten. Es ist der erste vers der Welsh national anthem.

Mal sehen, ob Tesseract OCR ist bis zu der Herausforderung. Wir verwenden die -l (Sprache) die option zu lassen, tesseract wissen, die Sprache, in der wir arbeiten wollen:

tesseract Henne-wlad-fy-nhadau.png-anthem -l cym –dpi 150

tesseract meistert perfekt, wie gezeigt, in den extrahierten text unten. Da iawn, Tesseract-OCR.

Wenn Ihr Dokument enthält zwei oder mehr Sprachen (wie ein Welsh-zu-Englisch-Wörterbuch, zum Beispiel), können Sie ein plus-Zeichen (+) zu sagen, tesseract zum hinzufügen einer weiteren Sprache, etwa so:

tesseract image.png-Text -l DEU+cym+fra

Verwendung von Tesseract-OCR mit PDF-Dateien

Tesseract-Befehl dient zur Arbeit mit image-Dateien, aber es kann nicht zum Lesen von PDFs. Allerdings, wenn Sie brauchen, um zu extrahieren von text aus einer PDF-Datei, verwenden Sie ein anderes Dienstprogramm zuerst zum erzeugen einer Reihe von Bildern. Ein einzelnes Bild wird eine einzelne Seite der PDF-Datei.

Die pdftppm Dienstprogramm, das Sie brauchen, sollte bereits installiert auf Ihrem Linux-computer. Die PDF-Datei wir verwenden für unser Beispiel ist eine Kopie von Alan Turing seinem bahnbrechenden Papier, das auf künstlicher Intelligenz, “Computing Machinery and Intelligence.”

Wir verwenden die png-option, um anzugeben, dass wir wollen, erstellen Sie PNG-Dateien. Der name der Datei, unsere PDF-Datei “turing.pdf.” Wir nennen unsere image-Dateien “turing-01.png,” “turing-02.png” und so weiter:

pdftoppm -png turing.pdf-turing

Zum ausführen von tesseract auf das jeweilige Bild-Datei mit einem einzigen Befehl, dann brauchen wir eine for-Schleife. Für jeden unserer “turing-nn.png” – Dateien, die wir ausführen, tesseract, und erstellen Sie eine text-Datei namens “text-” plus “turing-nn” als Teil des Dateinamen:

für ich im turing-??.png; do tesseract “$i” “text-$i” -l DEU; done;

Kombinieren Sie alle text-Dateien in eine, die wir verwenden können, Katze:

cat text-turing – * > complete.txt

Also, wie tun Sie es? Sehr gut, wie man unten sehen kann. Die erste Seite sieht schon ziemlich anspruchsvoll, wenn. Es hat verschiedene text-Stile und-Größen, und Dekoration. Es gibt auch eine vertikale “Wasserzeichen” auf den rechten Rand der Seite.

Die Ausgabe wird jedoch nahe am original. Offensichtlich ist die Formatierung verloren gegangen ist, aber der text ist korrekt.

Die vertikale Wasserzeichen transkribiert wurde als eine Linie von Kauderwelsch am unteren Rand der Seite. Der text war zu klein, um gelesen werden von tesseract genau, aber es wäre einfach genug zu finden und zu löschen. Das schlechteste Ergebnis gewesen wäre, streunende Zeichen am Ende jeder Zeile.

Neugierig, die einzelnen Buchstaben am Anfang der Liste Fragen und Antworten auf Seite zwei wurden ignoriert. Der Abschnitt aus der PDF-Datei ist unten dargestellt.

Wie Sie unten sehen können, die Fragen bleiben, aber der “Q” und “A” zu Beginn jeder Zeile wurden verloren.

Diagramme werden auch nicht abgelesen werden, richtig. Schauen wir uns an, was passiert, wenn wir versuchen, extrahieren Sie die unten gezeigten, von der Turing-PDF.

Wie Sie sehen können in unserem Ergebnis unten, die Zeichen wurden gelesen, aber das format des Diagramms verloren.

Wieder, tesseract kämpfte mit der geringen Größe der tiefgestellte Zeichen, und Sie wurden falsch wiedergegeben.

In fairness, aber es war immer noch ein gutes Ergebnis. Wir waren nicht extrahieren können einfache text -, aber dann, in diesem Beispiel wurde bewusst gewählt, weil es eine Herausforderung.

Eine Gute Lösung, Wenn Sie Es Brauchen

OCR ist nicht etwas, das Sie brauchen, um täglich verwenden. Allerdings, wenn die Notwendigkeit auftreten, ist es gut zu wissen, Sie haben eine der besten OCR-engines zur Verfügung.

LESEN SIE WEITER

  • › Warum Menschen Kaufen Noch Feature-Phones im Jahr 2020
  • › Wie Sie Automatisch Leeren Sie Ihren Papierkorb auf einem Mac
  • › So Duplizieren Sie die Folien in Microsoft PowerPoint
  • › Mikrofon Funktioniert Nicht auf einem Mac? Hier ist, Wie Es zu Lösen ist
  • › ✨ Können Sie Emoji in Dateinamen auf Windows 10