Rozpoznávání textu pro Android pomocí Google Mobile Vision

Pro tento týden vytvoříme jednoduchou aplikaci pro Android, která využívá rozhraní API Google Mobile Vision pro optické rozpoznávání znaků (OCR). Rozhraní API Mobile Vision Text poskytuje vývojářům systému Android výkonnou a spolehlivou funkci OCR, která funguje s většinou zařízení se systémem Android.

Jedná se o velmi výkonné rozhraní API, které lze použít také pro živou detekci obličeje a sledování obličeje spolu s funkcí skenování čárového kódu.Chcete-li se o této úžasné knihovně dozvědět více, přejděte na níže uvedený odkaz

Jako vždy, ukázkový projekt je k dispozici zde

Začněme tím, že nejprve vytvoříme nový projekt v aplikaci Android Studio.

  1. Přejděte na Soubor ⇒ Nový projekt. Až vás to vyzve k výběru výchozí aktivity, vyberte Empty Activity a pokračujte.
  2. Otevřete build.gradle v (Module:app) a přidejte závislosti Mobile Vision takto.

3. Chcete-li používat tuto knihovnu, možná budete muset aktualizovat nainstalovanou verzi Google Repository v nástrojích SDK .ujistěte se, že je vaše verze Google Repository aktuální. Měla by to být alespoň verze 26.

4. Nezapomeňte přidat oprávnění pro přístup ke KAMERA a také metadata pro použití OCR v souboru AndroidManifest.xml takto

5. Nezapomeňte přidat oprávnění pro přístup ke KAMERA a také metadata pro použití OCR v souboru AndroidManifest.xml. Dále vytvoříme jednoduchý layout pro naši aktivitu, který bude vypadat takto

Uvnitř metody onCreate() souboru MainActivity.java zavoláme metodu startCameraSource().

A co se tedy děje ve výše uvedeném kódu? Zde jsou důležité části.

TextRecognizer: Tento objekt zpracovává obrázky a určuje, jaký text se v nich zobrazí. Po jeho inicializaci jej lze použít k detekci textu ve všech typech obrázků. Upozorňujeme, že než jej začneme používat k rozpoznávání textu, měli bychom zkontrolovat, zda je připraven. To se provádí pomocí metody textRecognizer.isOperational().

CameraSource: Jedná se o správce kamery předkonfigurovaný pro zpracování Vision. Zde nastavíme rozlišení na 1280*1024 a zapneme automatické zaostřování, protože to pomůže při rozpoznávání menšího textu mnohem rychleji. Také nastavíme cameraSource tak, aby ve výchozím nastavení používal zadní kameru.

Detector.Processor<TextBlock> : Aby mohl TextRecognizer číst text přímo z kamery, musíme implementovat Detector Processor, který bude zpracovávat detekce tak často, jak budou k dispozici.

Jsou zde implementovány dvě metody. První, receiveDetections(), bude přijímat textové bloky z detektoru, jakmile budou k dispozici. Druhou, release(), lze použít k čistému zbavení se zdrojů.

7. Závěrečný krok

Vezmeme hodnoty TextBlock a vytvoříme objekt StringBuilder a přidáme hodnoty do textView, který se bude aktualizovat pokaždé, když se v pohledu kamery objeví text.

Spustíme aplikaci

Nakonec můžete spustit aplikaci a zobrazit živé zobrazení textu z pohledu kamery

A to je vše. Nyní máme připravenou jednoduchou aplikaci OCR s několika řádky kódu!“

Do příště :.) Šťastné učení a šťastný nový rok všem.