画像から文字を取り出す

はじめに

皆さんは画像ファイルから文字を取り出したいと思ったことはないでしょうか。
資料の内容をパソコンに移したいといったときに、通常その内容を見ながら自分でキーボードをたたいて文字をうつしているかと思います。しかし、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(画像の特徴セット抽出)も可能ですので是非試していただければと思います。
最後に余談ですが・・
以下のように検証画像と同じ文字を手書きで書いてみた結果ですが

結果は全く読み込めていません・・・
私の字が問題なのかわかりませんが、手書き文字認識はまだ難しいのかもしれません

いいね (←参考になった場合はハートマークを押して評価お願いします)
読み込み中...

注意事項・免責事項

※技術情報につきましては投稿日時点の情報となります。投稿日以降に仕様等が変更されていることがありますのでご了承ください。

※公式な技術情報の紹介の他、当社による検証結果および経験に基づく独自の見解が含まれている場合がございます。

※これらの技術情報によって被ったいかなる損害についても、当社は一切責任を負わないものといたします。十分な確認・検証の上、ご活用お願いたします。

※当サイトはマイクロソフト社によるサポートページではございません。パーソルプロセス&テクノロジー株式会社が運営しているサイトのため、マイクロソフト社によるサポートを希望される方は適切な問い合わせ先にご確認ください。
 【重要】マイクロソフト社のサポートをお求めの方は、問い合わせ窓口をご確認ください