Tekstintunnistus Androidille Google Mobile Visionin avulla
Tämän viikon kirjoituksessa luomme yksinkertaisen Android-sovelluksen, joka käyttää Google Mobile Visionin API:ta optiseen merkintunnistukseen (OCR). Mobile Vision Text API antaa Android-kehittäjille tehokkaan ja luotettavan OCR-ominaisuuden, joka toimii useimmissa Android-laitteissa.
Tämä on erittäin tehokas API, jota voidaan käyttää myös kasvojen live-tunnistukseen ja kasvojen seurantaan sekä viivakoodin skannausominaisuuksiin.Jos haluat tietää lisää tästä upeasta kirjastosta, seuraa alla olevaa linkkiä
Kuten aina, esimerkkiprojekti on saatavilla täältä
Aloitetaan luomalla ensin uusi projekti Android Studiossa.
- Mene kohtaan File ⇒ New Project. Kun se pyytää sinua valitsemaan oletusaktiviteetin, valitse Empty Activity ja jatka.
- Avaa build.gradle kohdassa (Module:app) ja lisää Mobile Vision -riippuvuudet näin.
3. Jotta voit käyttää tätä kirjastoa, sinun on ehkä päivitettävä asennettu versio Google Repositorysta SDK-työkaluissa.Varmista, että versiosi Googlen repositorysta on ajan tasalla. Sen pitäisi olla vähintään versio 26.
4. Älä unohda lisätä käyttöoikeuksia CAMERA:n käyttämiseen ja myös metatietoja OCR:n käyttämiseen AndroidManifest.xml-tiedostossa näin
5. Valitse AndroidManifest.xml-tiedosto. Seuraavaksi luomme aktiviteetillemme yksinkertaisen ulkoasun, joka näyttää tältä
MainActivity.java-tiedoston onCreate()-metodin sisällä kutsumme startCameraSource()-metodia.
Mitä yllä olevassa koodissa tapahtuu? Tässä ovat tärkeät osat.
TextRecognizer: Tämä objekti käsittelee kuvia ja määrittää, mitä tekstiä niissä näkyy. Kun se on alustettu, sen avulla voidaan havaita teksti kaikentyyppisissä kuvissa. Huomaa, että ennen kuin alamme käyttää sitä tekstin tunnistamiseen, meidän on tarkistettava, että se on valmis. Tämä tehdään textRecognizer.isOperational()-menetelmällä.
CameraSource: Tämä on kameranhallinta, joka on valmiiksi konfiguroitu Vision-käsittelyä varten. Tässä asetamme resoluutioksi 1280*1024 ja otamme automaattitarkennuksen käyttöön, koska se auttaa tunnistamaan pienempää tekstiä paljon nopeammin. Lisäksi asetamme cameraSourcen käyttämään oletusarvoisesti takakameraa.
Detector.Processor<TextBlock> : Jotta TextRecognizer voi lukea tekstiä suoraan kamerasta, meidän on toteutettava Detector Processor, joka käsittelee havaintoja niin usein kuin niitä tulee saataville.
Tässä on kaksi metodia, jotka on toteutettava. Ensimmäinen, receiveDetections(), vastaanottaa TextBlockin Detectorilta sitä mukaa kun niitä tulee saataville. Toisella, release(), voidaan päästä siististi eroon resursseista.
7. Viimeinen vaihe
Otamme TextBlockin arvot ja luomme StringBuilder-olion ja lisäämme arvot textViewiin, joka päivitetään aina, kun kameranäkymässä on tekstiä.
Sovelluksen käynnistäminen
Viimein voit käynnistää sovelluksen ja nähdä reaaliaikaisen näkymän tekstistä kameranäkymässä