Google Mobile Vision を使用した Android 用テキスト認識

今週の記事では、Google Mobile Vision API の光学文字認識 (OCR) を使用したシンプルな Android アプリを作成します。 Mobile Vision Text API は、ほとんどの Android デバイスで動作する、強力で信頼性の高い OCR 機能を Android 開発者に提供します。

これは非常に強力な API で、バーコード スキャン機能とともにライブ顔検出および顔追跡にも使用できます。この素晴らしいライブラリの詳細については、以下のリンクを参照してください。

いつものように、サンプル プロジェクトはここで入手できます。

  • Open build.gradle in (Module:app) and add Mobile Vision dependencies like this.
  • 3. このライブラリを使用するには、 SDK tools でインストールした Google Repository のバージョンを更新する必要があるかもしれません 。 少なくともバージョン26でなければなりません。

    4. AndroidManifest.xml ファイルに、カメラにアクセスするためのパーミッションと、OCRを使用するためのメタデータを次のように追加するのを忘れないようにします

    5. 次に、次のようなアクティビティの簡単なレイアウトを作成します。

    MainActivity.java の onCreate() メソッドの内部で、startCameraSource() メソッドを呼び出します。

    では、上記のコードで何が起こっているでしょうか。 以下は重要な部分です。

    TextRecognizer: このオブジェクトは画像を処理し、その中に表示されるテキストを決定します。 一度初期化すると、あらゆる種類の画像からテキストを検出するために使用できます。 テキストを認識するためにこれを使い始める前に、準備が整っていることを確認する必要があることに注意してください。 これは、textRecognizer.isOperational() メソッドを使用して行われます。 これはVision処理用にあらかじめ設定されたカメラマネージャーです。 ここでは、解像度を1280*1024に設定し、オートフォーカスをオンにします。これは、より小さなテキストをより速く認識するのに役立つからです。

    Detector.Processor<TextBlock> : TextRecognizer がカメラから直接テキストを読み取るためには、検出を随時処理する検出器プロセッサを実装する必要があります。 1つ目のreceiveDetections()は、利用可能になるとDetectorからTextBlockを受信します。 2つ目のrelease()は、リソースをきれいに取り除くために使用できます。

    7. 最終ステップ

    TextBlockの値を取り、StringBuilderオブジェクトを作って、カメラビューにテキストがあるたびに更新されるtextViewに値を追加しています。

    アプリを起動する

    最後に、アプリを起動してカメラビューからテキストのライブビューを見ることができます

    そして以上となります。 これで、数行のコードでシンプルな OCR アプリが完成しました!

    Till next time 🙂 皆さん、学習と新年おめでとうございます!