【C#】Google Cloud Vision APIで文字認識(OCR)をできるように設定

皆さんこんにちはこんばんは、まずここブログを運営してます「よーす」です。

 

今日は、Googleが提供しているOCR(Optical Character Recognition、光学的文字認識)を使って文字認識をします。

そのためにアカウント作成やら環境変数を変更したりとやることがあるので、1つ1つ順を追って説明していこうと思います。

ちなみに、開発環境は以下になります。

開発環境

  • Windows 10
  • 64ビット
  • C#/Visual Studio

コンソールページの作成

以下のURLからGoogle Cloud Platformというページに移動してください。

↓↓↓

この画面に移動できればオッケーです!

 

プロジェクトの作成

HomeのDashboardから上の画面を開きます。

ここから、「CREATE PROJECT」をクリックしてプロジェクト作成画面に移動します。

 

Project nameに名前を入れて、CREATEをクリック。

 

Cloud Vision APIを有効化

プロジェクトができたところで、検索から以下の画像のように「cloud vision api」を検索!

 

以下の画面に移動出来たら、Enableをクリックして使用できるようにします。

 

サービスアカウントキーの作成

このキーを作成すると、晴れて環境設定に入れるJSONを生成できます。

 

Enableにしたところで、左のメニュー画面から「APIS & Serivces」を選択し、「Credentials」をクリックする

「Credentials」の画面に移動したら、「+CREATE CREDENTIALS」をクリックしてください。

「Service account」をクリック

以下の画面になったら、サービスアカウント名を入力します。

サービスアカウントIDは自動で生成されますが、必要があれば変更してください。

最後にサービスアカウント詳細(Serivice Account Description)を入力して、「CREATE」をクリック

ロールを作ります。

Basic からOwnerを選びます。

➁番まで終わったらDONEで次に進みます。

 

Credentials画面のService Accountsからメールアドレスをクリック

KEYSタブから「ADD KEY」をクリック

 

これで「JSON」を選択し、やっとこれでKEY情報の記載されたJSONができます。

 

環境変数にJSONを設定

コマンドプロントプから以下を実行!

set GOOGLE_APPLICATION_CREDENTIALS=[PATH]

[PATH]は、ご自身のJSONのパスを入力してください。

 

【他のやり方】

コントロールパネル > システム > システム詳細設定 > 環境変数 > システム環境変数 > 新規

変数名:GOOGLE_APPLICATION_CREDENTIALS

パス:[PATH]

以上のやり方でも環境変数に設定可能です。個人的にはこのやり方のが好きです。

C#でGoogle Could Vision APIを組み込もう!

 

環境変数にちゃんと設定されているか確認

string path = Environment.GetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", EnvironmentVariableTarget.Machine);

 

画像をOCR処理

var client = ImageAnnotatorClient.Create();
var image = Google.Cloud.Vision.V1.Image.FromFile(imgPath);

ImageContext imageContext = new ImageContext();
imageContext.LanguageHints.Add(lang);

TextAnnotation response = client.DetectDocumentText(image, imageContext);

string result = "";
foreach (var letter in response.Text)
{
     result += letter;
}

 

支払い設定も必要でした

追記です!

コンソールページからプロジェクトに支払い設定を行わないとOCR認識できませんので

忘れずに設定しましょう!

初めてなら、$300まで無料で使えます!

 

まとめ

以上で画像処理までの一連の流れが終了しました。

お疲れ様です!

 

最後まで、読んで頂きありがとうございました!

  • B!