Szövegfelismerés Androidra a Google Mobile Vision segítségével

Az e heti írásunkban egy egyszerű Android alkalmazást hozunk létre, amely a Google Mobile Vision API-t használja optikai karakterfelismerésre (OCR). A Mobile Vision Text API nagy teljesítményű és megbízható OCR képességet biztosít az Android fejlesztőknek, amely a legtöbb Android eszközzel működik.

Ez egy nagyon nagy teljesítményű API, amely élő arcfelismerésre és arckövetésre is használható a vonalkódolvasási képességekkel együtt.Ha többet szeretne megtudni erről a csodálatos könyvtárról, kövesse az alábbi linket

Mint mindig, a mintaprojekt elérhető itt

Kezdjük el először egy új projekt létrehozásával az Android Studio-ban.

  1. Menjen a File ⇒ New Project. Amikor az alapértelmezett tevékenység kiválasztására szólít fel, válasszuk az Empty Activity-t és folytassuk.
  2. Nyissuk meg a build.gradle-t a (Module:app)-ban és adjuk hozzá a Mobile Vision függőségeket így.

3. A könyvtár használatához szükség lehet a Google Repository telepített verziójának frissítésére az SDK eszközökben .Győződjünk meg róla, hogy a Google Repository verziója naprakész. Legalább a 26-os verziónak kell lennie.

4. Ne felejtse el hozzáadni az AndroidManifest.xml fájlban a CAMERA eléréséhez szükséges engedélyeket, valamint az OCR használatához szükséges metaadatokat, például így

5. Ezután létrehozunk egy egyszerű elrendezést az aktivitásunkhoz, amely így fog kinézni

A MainActivity.java onCreate() metódusában meghívunk egy startCameraSource() metódust.

Mi történik a fenti kódban? Íme a fontos részek.

TextRecognizer: Ez az objektum feldolgozza a képeket, és meghatározza, hogy milyen szöveg jelenik meg bennük. Az inicializálás után minden típusú képben lévő szöveg felismerésére használható. Vegyük figyelembe, hogy mielőtt elkezdenénk használni a szöveg felismerésére, ellenőrizzük, hogy készen áll-e. Ezt a textRecognizer.isOperational() módszerrel tehetjük meg.

CameraSource: Ez egy Vision feldolgozáshoz előre konfigurált kamerakezelő. Itt a felbontást 1280*1024-re állítjuk és bekapcsoljuk az automatikus fókuszt, mert ez segít a kisebb szövegek sokkal gyorsabb felismerésében. Továbbá a cameraSource-t úgy állítjuk be, hogy alapértelmezés szerint a hátsó kamerát használja.

Detector.Processor<TextBlock> : Ahhoz, hogy a TextRecognizer közvetlenül a kamerából olvassa a szöveget, implementálnunk kell egy Detector Processort, amely a felismeréseket kezeli, amint azok elérhetővé válnak.

Itt két módszert kell implementálni. Az első, a receiveDetections(), a TextBlockot fogja fogadni a Detectorból, amint azok elérhetővé válnak. A második, a release(), arra használható, hogy tisztán megszabaduljunk az erőforrásoktól.

7. Utolsó lépés

Vesszük a TextBlock értékeit, és létrehozzuk a StringBuilder objektumot, majd hozzáadjuk az értékeket a textView-hoz, amely minden alkalommal frissül, amikor szöveg jelenik meg a kameranézetben.

Elindítjuk az alkalmazást

Végül elindíthatjuk az alkalmazást, és élőben láthatjuk a szöveget a kameranézetből

És ennyi. Most már van egy egyszerű OCR alkalmazásunk néhány sornyi kóddal!

A következő alkalomig 🙂 Boldog tanulást és boldog új évet kívánok mindenkinek.