Textigenkänning för Android med Google Mobile Vision

I veckans artikel ska vi skapa en enkel Android-app som använder Google Mobile Vision API:s för optisk teckenigenkänning (OCR). Mobile Vision Text API ger Android-utvecklare en kraftfull och pålitlig OCR-funktion som fungerar med de flesta Android-enheter.

Det här är ett mycket kraftfullt API som också kan användas för live ansiktsdetektering och ansiktsspårning tillsammans med funktioner för skanning av streckkoder.Om du vill veta mer om det här underbara biblioteket kan du följa länken nedan

Som alltid finns exempelprojektet tillgängligt här

Låt oss börja med att först skapa ett nytt projekt i Android Studio.

  1. Gå till File ⇒ New Project. När du uppmanas att välja standardaktivitet väljer du Empty Activity och fortsätter.
  2. Öppna build.gradle i (Module:app) och lägg till Mobile Vision-beroenden så här.

3. För att kunna använda det här biblioteket kan det hända att du måste uppdatera den installerade versionen av Google Repository i SDK-verktygen .Kontrollera att din version av Google Repository är uppdaterad. Den bör vara minst version 26.

4. Glöm inte att lägga till behörigheter för åtkomst till CAMERA och även metadata för användning av OCR i filen AndroidManifest.xml så här

5. Därefter kommer vi att skapa en enkel layout för vår aktivitet som kommer att se ut så här

Inom onCreate()-metoden i MainActivity.java kommer vi att anropa en startCameraSource()-metod.

Vad är det som händer i ovanstående kod? Här är de viktiga delarna.

TextRecognizer: Det här objektet bearbetar bilder och bestämmer vilken text som visas i dem. När det väl är initialiserat kan det användas för att upptäcka text i alla typer av bilder. Observera att innan vi börjar använda det för att känna igen text bör vi kontrollera att det är redo. Detta görs med hjälp av metoden textRecognizer.isOperational().

CameraSource: Det här är en kamerahanterare som är förkonfigurerad för Vision-bearbetning. Här kommer vi att ställa in upplösningen till 1280*1024 och aktivera autofokus, eftersom det kommer att hjälpa till att känna igen mindre text mycket snabbare. Dessutom ställer vi in cameraSource för att använda bakre kameran som standard.

Detector.Processor<TextBlock> : För att TextRecognizer ska kunna läsa text direkt från kameran måste vi implementera en Detector Processor, som kommer att hantera upptäckter så ofta de blir tillgängliga.

Det finns två metoder att implementera här. Den första, receiveDetections(), kommer att ta emot TextBlock från detektorn när de blir tillgängliga. Den andra, release(), kan användas för att på ett rent sätt göra sig av med resurser.

7. Sista steget

Vi tar värdena från TextBlock och skapar StringBuilder-objektet och lägger till värdena i textView, som kommer att uppdateras varje gång det finns en text i kameravyn.

För att starta appen

Slutligt kan du starta appen och se en direktvisning av text från kameravyn

Och det var allt. Vi har nu en enkel OCR-app klar med några få rader kod!

Till nästa gång 🙂 Glad inlärning och gott nytt år till alla.