Texterkennung für Android mit Google Mobile Vision
In dieser Woche werden wir eine einfache Android-App erstellen, die Google Mobile Vision APIs für die optische Zeichenerkennung (OCR) verwendet. Die Mobile Vision Text API bietet Android-Entwicklern eine leistungsstarke und zuverlässige OCR-Funktion, die mit den meisten Android-Geräten funktioniert.
Es handelt sich um eine sehr leistungsstarke API, die auch für die Live-Gesichtserkennung und -verfolgung sowie für das Scannen von Barcodes verwendet werden kann.Um mehr über diese wunderbare Bibliothek zu erfahren, folgen Sie dem Link unten
Wie immer ist das Beispielprojekt hier verfügbar
Lassen Sie uns beginnen, indem wir zuerst ein neues Projekt in Android Studio erstellen.
- Gehen Sie zu Datei ⇒ Neues Projekt. Wenn Sie aufgefordert werden, eine Standardaktivität auszuwählen, wählen Sie Empty Activity und fahren Sie fort.
- Öffnen Sie build.gradle in (Modul:app) und fügen Sie Mobile Vision-Abhängigkeiten wie folgt hinzu.
3. Um diese Bibliothek zu verwenden, müssen Sie möglicherweise Ihre installierte Version von Google Repository in den SDK-Tools aktualisieren.Stellen Sie sicher, dass Ihre Version von Google Repository auf dem neuesten Stand ist. Es sollte mindestens Version 26 sein.
4. Vergessen Sie nicht, die Berechtigungen für den Zugriff auf die KAMERA und die Metadaten für die Verwendung von OCR in der Datei AndroidManifest.xml wie folgt hinzuzufügen
5. Als Nächstes erstellen wir ein einfaches Layout für unsere Aktivität, das wie folgt aussieht
Innerhalb der onCreate()-Methode der MainActivity.java rufen wir eine startCameraSource()-Methode auf.
Was passiert nun im obigen Code? Hier sind die wichtigsten Teile.
TextRecognizer: Dieses Objekt verarbeitet Bilder und bestimmt, welcher Text in ihnen erscheint. Sobald es initialisiert ist, kann es verwendet werden, um Text in allen Arten von Bildern zu erkennen. Bitte beachten Sie, dass wir vor der Verwendung des Objekts zur Texterkennung prüfen sollten, ob es bereit ist. Dies geschieht mit der Methode textRecognizer.isOperational().
CameraSource: Dies ist ein Kameramanager, der für die Vision-Verarbeitung vorkonfiguriert ist. Hier setzen wir die Auflösung auf 1280*1024 und schalten den Autofokus ein, da er hilft, kleinere Texte schneller zu erkennen. Außerdem stellen wir die cameraSource so ein, dass sie standardmäßig die Rückfahrkamera verwendet.
Detector.Processor<TextBlock> : Damit der TextRecognizer den Text direkt von der Kamera lesen kann, müssen wir einen Detector Processor implementieren, der die Erkennungen verarbeitet, sobald sie verfügbar sind.
Hier sind zwei Methoden zu implementieren. Die erste, receiveDetections(), empfängt TextBlocks vom Detector, sobald sie verfügbar sind. Die zweite, release(), kann verwendet werden, um Ressourcen sauber loszuwerden.
7. letzter Schritt
Wir nehmen die Werte von TextBlock und erstellen ein StringBuilder Objekt und fügen die Werte zur textView hinzu, die jedes Mal aktualisiert wird, wenn ein Text in der Kameraansicht erscheint.
Starten Sie die App
Schließlich können Sie die App starten und eine Live-Ansicht von Text in der Kameraansicht sehen