画像プロパティ機能は、ドミナント カラーなど、画像の一般的特性を検出します。

検出されたドミナント カラー:

画像プロパティの検出リクエスト
Google Cloud プロジェクトと認証のセットアップ
Google Cloud プロジェクトをまだ作成していない場合は、ここで作成します。手順については、このセクションを開いてください。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vision API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
ローカル画像の画像プロパティを検出する
Vision API を使用して、ローカル画像ファイルに特徴検出を実行できます。
REST リクエストの場合は、リクエストの本文で画像ファイルのコンテンツを base64 エンコード文字列として送信します。
gcloud
とクライアント ライブラリ リクエストの場合は、リクエストにローカル イメージへのパスを指定します。
ColorInfo
フィールドには、RGB 値の解釈に使用する必要がある絶対色空間の情報が含まれていません(例: sRGB、Adobe RGB、DCI-P3、BT.2020)。デフォルトでは、アプリケーションは sRGB 色空間を想定します。
リクエストのデータを使用する前に、次のように置き換えます。
- BASE64_ENCODED_IMAGE: バイナリ画像データの base64 表現(ASCII 文字列)。これは次のような文字列になります。
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- RESULTS_INT:(省略可)返される結果の整数値。
"maxResults"
フィールドとその値を省略した場合、API はデフォルト値の 10 を返します。このフィールドは、TEXT_DETECTION
、DOCUMENT_TEXT_DETECTION
、CROP_HINTS
の各機能タイプには適用されません。 - PROJECT_ID: 実際の Google Cloud プロジェクト ID。
HTTP メソッドと URL:
POST https://vision.googleapis.com/v1/images:annotate
リクエストの本文(JSON):
{ "requests": [ { "image": { "content": "BASE64_ENCODED_IMAGE " }, "features": [ { "maxResults":RESULTS_INT , "type": "IMAGE_PROPERTIES" }, ] } ] }
リクエストを送信するには、次のいずれかのオプションを選択します。
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project:PROJECT_ID " \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/images:annotate"
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID " }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
リクエストが成功すると、サーバーは 200 OK
HTTP ステータス コードと JSON 形式のレスポンスを返します。
レスポンス:
レスポンス
{ "responses": [ { "imagePropertiesAnnotation": { "dominantColors": { "colors": [ { "color": { "red": 243, "green": 177, "blue": 133 }, "score": 0.18074834, "pixelFraction": 0.013533333 }, { "color": { "red": 204, "green": 205, "blue": 213 }, "score": 0.092455424, "pixelFraction": 0.19266666 }, { "color": { "red": 114, "green": 77, "blue": 64 }, "score": 0.090447456, "pixelFraction": 0.034133334 }, { "color": { "red": 224, "green": 57, "blue": 64 }, "score": 0.010952942, "pixelFraction": 0.014266667 }, { "color": { "red": 248, "green": 125, "blue": 130 }, "score": 0.006984347, "pixelFraction": 0.0057333335 }, { "color": { "red": 150, "green": 107, "blue": 92 }, "score": 0.081589326, "pixelFraction": 0.019666666 }, { "color": { "red": 233, "green": 185, "blue": 158 }, "score": 0.08035342, "pixelFraction": 0.0122 }, { "color": { "red": 221, "green": 221, "blue": 226 }, "score": 0.045200635, "pixelFraction": 0.202 }, { "color": { "red": 105, "green": 77, "blue": 75 }, "score": 0.030223774, "pixelFraction": 0.013866667 }, { "color": { "red": 189, "green": 145, "blue": 123 }, "score": 0.028689377, "pixelFraction": 0.0069333334 } ] } }, "cropHintsAnnotation": { "cropHints": [ { "boundingPoly": { "vertices": [ {}, { "x": 2549 }, { "x": 2549, "y": 1699 }, { "y": 1699 } ] }, "confidence": 0.79999995, "importanceFraction": 1 } ] } } ] }
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Go の設定手順を完了してください。 詳細については、Vision Go API のリファレンス ドキュメントをご覧ください。
Vision に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Vision API クイックスタート: クライアント ライブラリの使用の Java の設定手順を完了してください。詳細については、Vision API Java のリファレンス ドキュメントをご覧ください。
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。 詳細については、Vision Node.js API のリファレンス ドキュメントをご覧ください。
Vision に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Python の設定手順を完了してください。 詳細については、Vision Python API のリファレンス ドキュメントをご覧ください。
Vision に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Vision リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Vision リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Vision リファレンス ドキュメントをご覧ください。
リモート画像の画像プロパティを検出する
Vision API を使用すると、Cloud Storage またはウェブ上にあるリモート画像ファイルに特徴検出を実行できます。リモート ファイル リクエストを送信するには、リクエストの本文でファイルのウェブ URL または Cloud Storage URI を指定します。
ColorInfo
フィールドには、RGB 値の解釈に使用する必要がある絶対色空間の情報が含まれていません(例: sRGB、Adobe RGB、DCI-P3、BT.2020)。デフォルトでは、アプリケーションは sRGB 色空間を想定します。
リクエストのデータを使用する前に、次のように置き換えます。
- CLOUD_STORAGE_IMAGE_URI: Cloud Storage バケット内の有効な画像ファイルへのパス。少なくとも、ファイルに対する読み取り権限が必要です。例:
gs://cloud-samples-data/vision/image_properties/bali.jpeg
- RESULTS_INT: (省略可)返される結果の整数値。
"maxResults"
フィールドとその値を省略した場合、API はデフォルト値の 10 を返します。このフィールドは、TEXT_DETECTION
、DOCUMENT_TEXT_DETECTION
、CROP_HINTS
の各機能タイプには適用されません。 - PROJECT_ID: 実際の Google Cloud プロジェクト ID。
HTTP メソッドと URL:
POST https://vision.googleapis.com/v1/images:annotate
リクエストの本文(JSON):
{ "requests": [ { "image": { "source": { "gcsImageUri": "CLOUD_STORAGE_IMAGE_URI " } }, "features": [ { "maxResults":RESULTS_INT , "type": "IMAGE_PROPERTIES" }, ] } ] }
リクエストを送信するには、次のいずれかのオプションを選択します。
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project:PROJECT_ID " \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/images:annotate"
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID " }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
リクエストが成功すると、サーバーは 200 OK
HTTP ステータス コードと JSON 形式のレスポンスを返します。
レスポンス:
レスポンス
{ "responses": [ { "imagePropertiesAnnotation": { "dominantColors": { "colors": [ { "color": { "red": 243, "green": 177, "blue": 133 }, "score": 0.18074834, "pixelFraction": 0.013533333 }, { "color": { "red": 204, "green": 205, "blue": 213 }, "score": 0.092455424, "pixelFraction": 0.19266666 }, { "color": { "red": 114, "green": 77, "blue": 64 }, "score": 0.090447456, "pixelFraction": 0.034133334 }, { "color": { "red": 224, "green": 57, "blue": 64 }, "score": 0.010952942, "pixelFraction": 0.014266667 }, { "color": { "red": 248, "green": 125, "blue": 130 }, "score": 0.006984347, "pixelFraction": 0.0057333335 }, { "color": { "red": 150, "green": 107, "blue": 92 }, "score": 0.081589326, "pixelFraction": 0.019666666 }, { "color": { "red": 233, "green": 185, "blue": 158 }, "score": 0.08035342, "pixelFraction": 0.0122 }, { "color": { "red": 221, "green": 221, "blue": 226 }, "score": 0.045200635, "pixelFraction": 0.202 }, { "color": { "red": 105, "green": 77, "blue": 75 }, "score": 0.030223774, "pixelFraction": 0.013866667 }, { "color": { "red": 189, "green": 145, "blue": 123 }, "score": 0.028689377, "pixelFraction": 0.0069333334 } ] } }, "cropHintsAnnotation": { "cropHints": [ { "boundingPoly": { "vertices": [ {}, { "x": 2549 }, { "x": 2549, "y": 1699 }, { "y": 1699 } ] }, "confidence": 0.79999995, "importanceFraction": 1 } ] } } ] }
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Go の設定手順を完了してください。 詳細については、Vision Go API のリファレンス ドキュメントをご覧ください。
Vision に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Java の設定手順を完了してください。 詳細については、Vision Java API のリファレンス ドキュメントをご覧ください。
Vision に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を完了してください。 詳細については、Vision Node.js API のリファレンス ドキュメントをご覧ください。
Vision に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Python の設定手順を完了してください。 詳細については、Vision Python API のリファレンス ドキュメントをご覧ください。
Vision に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
画像プロパティの検出を行うには、次の例で示すように gcloud ml vision detect-image-properties
コマンドを使用します。
gcloud ml vision detect-image-propertiesgs://cloud-samples-data/vision/image_properties/bali.jpeg
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Vision リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Vision リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Vision リファレンス ドキュメントをご覧ください。
試してみる
画像プロパティの検出を試してみましょう。すでに指定済みの画像(gs://cloud-samples-data/vision/image_properties/bali.jpeg
)を使用することも、独自の画像を指定することもできます。[実行] を選択してリクエストを送信します。

リクエストの本文:
{ "requests": [ { "features": [ { "maxResults": 10, "type": "IMAGE_PROPERTIES" } ], "image": { "source": { "imageUri": "gs://cloud-samples-data/vision/image_properties/bali.jpeg" } } } ] }