対象
このチュートリアルの目的は、Vision API のウェブ検出機能を使用してアプリケーションを開発する方法を学ぶことです。このチュートリアルは、基本的なプログラミング構成やテクニックの知識があることを前提としていますが、プログラミングの初心者の方にも簡単に操作できるように設計されています。Cloud Vision API リファレンス ドキュメントを参照しながらチュートリアルに従うことで、基本的なアプリケーションを作成できるようになります。
このチュートリアルでは、Vision API アプリケーションを順を追って説明し、Vision API を呼び出してウェブ検出機能を使用する方法を示します。
前提条件
- Google Cloud コンソールで Vision API プロジェクトを設定します。
アプリケーションのデフォルト認証情報を使用するように環境を設定します。
Python
- Python をインストールします。
- pip をインストールします。
- Google Cloud クライアント ライブラリをインストールします。
概要
このチュートリアルでは、Web detection リクエストを使用する基本的な Vision API アプリケーションについて段階的に説明します。Web detection レスポンスは、リクエストで送信された画像に、次のようなアノテーションを付けます。
- ウェブから取得したラベル
- 一致する画像のあるサイト URL
- リクエスト中の画像に部分一致または完全一致するウェブ画像を参照する URL
- 視覚的に類似している画像を参照する URL
コードリスト
Vision API Python リファレンスを参照しながらコードを読み進めることをおすすめします。
これは、次のタスクを実行する簡単なアプリケーションです。
- アプリケーションの実行に必要なライブラリをインポートする
- 画像パスを引数として
main()関数に渡す - Google Cloud API クライアントを使用してウェブ検出を実行する
- レスポンスをループ処理して、結果を出力する
- ウェブ エンティティとその説明およびスコアのリストを出力する
- 一致するページのリストを出力する
- 部分一致する画像のリストを出力する
- 完全一致する画像のリストを出力する
詳細
ライブラリのインポート
標準ライブラリをインポートします。
argparse: アプリケーションが入力ファイル名を引数として受け取れるようにするio: ファイルから読み込む
その他のインポート:
google.cloud.visionライブラリ内のImageAnnotatorClientクラス: Vision API へのアクセスを提供するgoogle.cloud.visionライブラリ内のtypesモジュール: リクエストを作成する
アプリケーションの実行
ここでは、単に、ウェブ画像の URL を指定するために渡された引数を解析し、main() 関数に渡します。
API に対する認証
Vision API サービスと通信する前に、事前に取得した認証情報を使用してサービスを認証する必要があります。アプリケーション内で認証情報を取得する最も簡単な方法は、アプリケーションのデフォルト認証情報(ADC)を使用することです。クライアント ライブラリにより、資格情報が自動的に取得されます。デフォルトでは、これは GOOGLE_APPLICATION_CREDENTIALS 環境変数から認証情報を取得することで得られます。この環境変数はサービス アカウントの JSON キーファイル(詳しくはサービス アカウントの設定を参照)を指している必要があります。