Recunoașterea textului pentru Android folosind Google Mobile Vision

Pentru articolul din această săptămână vom crea o aplicație Android simplă care utilizează API-urile Google Mobile Vision pentru recunoașterea optică a caracterelor (OCR). API-ul Mobile Vision Text oferă dezvoltatorilor Android o capabilitate OCR puternică și fiabilă care funcționează cu majoritatea dispozitivelor Android.

Este un API foarte puternic care poate fi, de asemenea, utilizat pentru detectarea și urmărirea în direct a fețelor, împreună cu capabilități de scanare a codurilor de bare.Pentru a afla mai multe despre această bibliotecă minunată, urmați linkul de mai jos

Ca întotdeauna, exemplul de proiect este disponibil aici

Să începem prin a crea mai întâi un nou proiect în Android Studio.

  1. Apăsați File ⇒ New Project. Când vi se cere să selectați activitatea implicită, selectați Empty Activity și continuați.
  2. Deschideți build.gradle în (Module:app) și adăugați dependențele Mobile Vision astfel.

3. Pentru a utiliza această bibliotecă, este posibil să fie necesar să actualizați versiunea instalată a Google Repository în SDK tools .Asigurați-vă că versiunea dvs. de Google Repository este actualizată. Ar trebui să fie cel puțin versiunea 26.

4. Nu uitați să adăugați permisiuni pentru accesarea CAMEREI și, de asemenea, metadate pentru utilizarea OCR în fișierul AndroidManifest.xml astfel

5. În continuare, vom crea un layout simplu pentru activitatea noastră care va arăta astfel

În interiorul metodei onCreate() din MainActivity.java, vom apela o metodă startCameraSource().

Atunci ce se întâmplă în codul de mai sus? Iată care sunt părțile importante.

TextRecognizer: Acest obiect procesează imaginile și determină ce text apare în ele. După ce este inițializat, poate fi folosit pentru a detecta textul în toate tipurile de imagini. Rețineți că, înainte de a începe să îl folosim pentru a recunoaște textul, trebuie să verificăm dacă este pregătit. Acest lucru se face folosind metoda textRecognizer.isOperational().

CameraSource: Acesta este un manager de cameră pre-configurat pentru procesarea Vision. Aici vom seta rezoluția la 1280*1024 și vom activa focalizarea automată, deoarece aceasta va ajuta la recunoașterea mult mai rapidă a textului mai mic. De asemenea, vom seta CameraSource pentru a utiliza în mod implicit camera din spate.

Detector.Processor<TextBlock> : Pentru ca TextRecognizer să citească textul direct din cameră, trebuie să implementăm un Detector Processor, care va gestiona detecțiile de câte ori acestea devin disponibile.

Există două metode care trebuie implementate aici. Prima, receiveDetections(), va primi TextBlock de la Detector pe măsură ce acestea devin disponibile. A doua, release(), poate fi utilizată pentru a scăpa în mod curat de resurse.

7. Etapa finală

Primim valorile din TextBlock și creăm obiectul StringBuilder și adăugăm valorile la textView, care va fi actualizat de fiecare dată când există un text în vizualizarea camerei.

Porniți aplicația

În cele din urmă, puteți porni aplicația și puteți vedea o vizualizare live a textului din vizualizarea camerei

Și asta este tot. Acum avem gata o aplicație OCR simplă cu câteva linii de cod!

Până data viitoare 🙂 Învățare fericită și un an nou fericit tuturor.

.