この記事は更新から24ヶ月以上経過しているため、最新の情報を別途確認することを推奨いたします。
はじめに
皆さんは画像ファイルから文字を取り出したいと思ったことはないでしょうか。
資料の内容をパソコンに移したいといったときに、通常その内容を見ながら自分でキーボードをたたいて文字をうつしているかと思います。しかし、Azrueのサービスを用いることで簡単に画像から文字抽出が可能です。
本ブログではそんな画像から文字を取り出すOCR(Optical Character Recognition)を実装する方法をご紹介します。
使用するサービス
本ブログではAzureのロジックアプリ,OneDrive,Teams,Computer Vision(CognitiveServices)を利用して
難しいコーディングなしで実装を行います。
概略としましては以下の図のような形です。
Computer Visionの作成・準備
AzurePortalからCognitive Servicesを検索し、作成します。
価格レベルに関しては下記のリンクを参照ください。
https://azure.microsoft.com/ja-jp/pricing/details/cognitive-services/computer-vision/
デプロイが完了したら”キーとエンドポイント”から”キー1″とエンドポイントをそれぞれ控えておきます。
これで準備は完了です。
OCRの構築
今回のテーマはコードレスにサービスを展開したいので、ロジックアプリを使用して構築を行います。
OneDriveに画像が投稿されたらその画像の文字を読み込むといったシステムを想定しているので、トリガーは”新しいファイルがOneDreiveに作成されたとき”を選びます。
その後はOneDriveに紐づけるアカウントを選択し、ログインした後
適当に項目を確認する頻度を選んでください。テスト用では一時的に頻度は秒で選んでも良いかもしれません。
次にコンピュータビジョンを選択します。
先ほど控えていたキー1とエンドポイントをそれぞれ下記の通り記入します。
接続名は任意の名前で大丈夫です。
そして、以下のように画像のソース・ImageContentを選択してください。
後は結果をどのように取得するかという部分を設定します。
今回はTeamsにメッセージを送りたいので以下のように設定します。
以上で構築は終了です。早速確認してみましょう!
検証
それでは早速確認してみます。
以下の画像を解析してみました。
結果は以下です。
きちんと文字列が認識できています!
まとめ
本ブログでは写真から文字認識を行うシステムをコードレスに行う方法を紹介しました。
構築自体はとても簡単ですし、ほぼ同じ構成でAnalyze Image(画像の特徴セット抽出)も可能ですので是非試していただければと思います。
最後に余談ですが・・
以下のように検証画像と同じ文字を手書きで書いてみた結果ですが
結果は全く読み込めていません・・・
私の字が問題なのかわかりませんが、手書き文字認識はまだ難しいのかもしれません