OCR auf Android

Was ist OCR?

Optische Zeichenerkennung (OCR) bezieht sich auf den Prozess der automatischen Identifizierung von Zeichen oder Symbolen aus einem Bild, die zu einem bestimmten Alphabet gehören. In diesem Beitrag werden wir uns darauf konzentrieren, zu erklären, wie man OCR auf Android verwendet.

Nachdem der Text des Bildes erkannt wurde, kann er verwendet werden, um:

    • Speichern Sie ihn.
    • Bearbeiten oder bearbeiten Sie ihn.
  • Übersetzen in eine andere Sprache.

Die Popularität von Smartphones in Verbindung mit immer besseren Kameras hat zu einem Anstieg der Verwendung dieser Art von Erkennungstechniken und einer neuen Kategorie von mobilen Apps geführt, die sie nutzen.

Auf dem Gerät oder in der Cloud?

Vor der Verwendung einer OCR-Bibliothek muss entschieden werden, wo der OCR-Prozess stattfinden soll: auf dem Smartphone oder in der Cloud.

Abhängig von den Anforderungen der App hat jeder Ansatz seine Vor- und Nachteile.

Wenn die App beispielsweise eine Zeichenerkennung ohne Internetverbindung erfordert, wird die OCR-Engine auf dem Gerät selbst gestartet. Auf diese Weise könnte das Senden von Bildern an einen Server vermieden werden, da die Kameras aktueller Geräte große Fotos aufnehmen können.

Auf der anderen Seite nehmen OCR-Bibliotheken in der Regel viel Platz ein, da sie für jede der zu erkennenden Sprachen heruntergeladen werden müssen, wie wir weiter unten erläutern werden.

Welche Bibliotheken können verwendet werden?

In dem folgenden Link zu Wikipedia gibt es eine vergleichende Tabelle mit allen OCR-Bibliotheken, unterstützten Plattformen, bei der Entwicklung verwendeten Programmiersprachen und anderen relevanten Informationen.

Link: http://en.wikipedia.org/wiki/ Liste_der_optischen_Zeichenerkennungssoftware

In diesem Beitrag werden wir die Tesseract-Bibliothek verwenden, die sich von den anderen abhebt. Sie ist Open Source, hat ein SDK, wurde von HP entwickelt und wird derzeit von Google weiterentwickelt.

OCR auf Android mit der Tesseract-Bibliothek

Auch wenn Tesseract auf einem Linux-Server als Cloud-Service ausgeführt werden kann, werden wir in diesem Beitrag die Tesseract-Bibliothek in einer Android-App implementieren und die OCR-Engine auf dem Gerät selbst starten.

Das ursprüngliche Tesseract-Projekt für Android heißt Tesseract Android Tools und enthält Tools zum Kompilieren der Tesseract- und Leptonica-Bibliotheken für die Verwendung auf der Android-Plattform sowie eine Java-API für den Zugriff auf diese nativ kompilierten Bibliotheken.

Link: https://github.com/rebbix/tesseract-android-tools/tree/master/tesseract-android-tools

Für unser Beispiel werden wir einen Fork von Tesseract Android Tools verwenden, der mehr Funktionalität bietet.

Link: https://github.com/rmtheis/tess-two

OCR-Beispiel auf Android

Wir benötigen ein paar einfache Schritte, um OCR auf Android durchzuführen:

Berücksichtigungen

  • Die Erkennungsqualität kann je nach Bildbeleuchtung, Kameraauflösung, Textschriftart, Textgröße und anderen Faktoren variieren …
  • Um die höchstmögliche Qualität zu erreichen, ist es sehr wichtig, dass der Text im Bild zentriert und das Bild richtig fokussiert ist.

Vorschau mit OCR in einer Übersetzer-App

Das folgende Video zeigt einen Teil der App, die ich für meine Abschlussarbeit (TFG) entwickle und in der ich die beschriebenen OCR-Techniken verwende.

Schreibe einen Kommentar