クロップヒントは、画像上のクロップ領域の頂点を示します。

クロップヒントを適用(比率 2:1):

クロップヒント検出リクエスト
GCP プロジェクトと認証の設定
ローカル画像のクロップヒントを検出する
Vision API は、リクエストの本文で画像ファイルのコンテンツを Base64 エンコードの文字列として送信し、ローカル画像ファイルの特徴検出を行います。
REST とコマンドライン
後述のリクエストのデータを使用する前に、次のように置き換えます。
- base64-encoded-image: バイナリ画像データの base64 表現(ASCII 文字列)。これは次のような文字列になります。
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
フィールド固有の考慮事項:
cropHintsParams.aspectRatios
- 画像の幅と高さに指定された比率に対応する浮動小数点数です。最大 16 個までのクロップ比を指定できます。
HTTP メソッドと URL:
POST https://vision.googleapis.com/v1/images:annotate
JSON 本文のリクエスト:
{ "requests": [ { "image": { "content": "base64-encoded-image" }, "features": [ { "type": "CROP_HINTS" } ], "imageContext": { "cropHintsParams": { "aspectRatios": [ 2.0 ] } } } ] }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://vision.googleapis.com/v1/images:annotate
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
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": [ { "cropHintsAnnotation": { "cropHints": [ { "boundingPoly": { "vertices": [ { "y": 520 }, { "x": 2369, "y": 520 }, { "x": 2369, "y": 1729 }, { "y": 1729 } ] }, "confidence": 0.79999995, "importanceFraction": 0.66999996 } ] } } ] }
C#
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある C# の設定手順を行ってください。詳細については、Vision C# API のリファレンス ドキュメントをご覧ください。
Go
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Go の設定手順を行ってください。詳細については、Vision Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Vision API クイックスタート: クライアント ライブラリの使用の Java の設定手順に従ってください。詳細については、Vision API Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を行ってください。詳細については、Vision Node.js API のリファレンス ドキュメントをご覧ください。
PHP
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある PHP の設定手順を行ってください。詳細については、Vision PHP API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Python の設定手順を行ってください。詳細については、Vision Python API のリファレンス ドキュメントをご覧ください。
Ruby
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Ruby の設定手順を行ってください。詳細については、Vision Ruby API のリファレンス ドキュメントをご覧ください。
リモート画像のクロップヒントを検出する
Vision API を使用すると、画像ファイルのコンテンツをリクエストの本文で送信することなく、Google Cloud Storage またはウェブ上にある画像ファイルに対して特徴検出を直接実行できます。
REST とコマンドライン
後述のリクエストのデータを使用する前に、次のように置き換えます。
- cloud-storage-image-uri: Cloud Storage バケット内の有効な画像ファイルへのパス。少なくとも、ファイルに対する読み取り権限が必要です。たとえば次のように指定します。
gs://cloud-samples-data/vision/crop_hints/bubble.jpeg
フィールド固有の考慮事項:
cropHintsParams.aspectRatios
- 画像の幅と高さに指定された比率に対応する浮動小数点数です。最大 16 個までのクロップ比を指定できます。
HTTP メソッドと URL:
POST https://vision.googleapis.com/v1/images:annotate
JSON 本文のリクエスト:
{ "requests": [ { "image": { "source": { "gcsImageUri": "cloud-storage-image-uri" } }, "features": [ { "type": "CROP_HINTS" } ], "imageContext": { "cropHintsParams": { "aspectRatios": [ 2.0 ] } } } ] }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
https://vision.googleapis.com/v1/images:annotate
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
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": [ { "cropHintsAnnotation": { "cropHints": [ { "boundingPoly": { "vertices": [ { "y": 520 }, { "x": 2369, "y": 520 }, { "x": 2369, "y": 1729 }, { "y": 1729 } ] }, "confidence": 0.79999995, "importanceFraction": 0.66999996 } ] } } ] }
C#
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある C# の設定手順を行ってください。詳細については、Vision C# API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Java の設定手順を行ってください。詳細については、Vision Java API のリファレンス ドキュメントをご覧ください。
Go
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Go の設定手順を行ってください。詳細については、Vision Go API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を行ってください。詳細については、Vision Node.js API のリファレンス ドキュメントをご覧ください。
PHP
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある PHP の設定手順を行ってください。詳細については、Vision PHP API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Python の設定手順を行ってください。詳細については、Vision Python API のリファレンス ドキュメントをご覧ください。
Ruby
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Ruby の設定手順を行ってください。詳細については、Vision Ruby API のリファレンス ドキュメントをご覧ください。
gcloud
テキスト検出を行うには、次の例のように gcloud ml vision suggest-crop
コマンドを実行します。
gcloud ml vision suggest-crop gs://cloud-samples-data/vision/crop_hints/bubble.jpeg
試してみる
クロップヒントの検出を試してみましょう。前のセクションで指定した画像(gs://cloud-samples-data/vision/crop_hints/bubble.jpeg
)を使用しても構いませんし、ご自分の画像を指定して試してみるのもよいでしょう。[実行] を選択してリクエストを送信します。
