ロゴ検出は、画像に含まれる一般的な商品のロゴを検出します。

ロゴ検出リクエスト
GCP プロジェクトと認証の設定
ローカル画像でのロゴの検出
Vision API は、リクエストの本文で画像ファイルのコンテンツを Base64 エンコードの文字列として送信し、ローカル画像ファイルの特徴検出を行います。
REST とコマンドライン
リクエストのデータを使用する前に、次のように置き換えます。
- base64-encoded-image: バイナリ画像データの base64 表現(ASCII 文字列)。これは次のような文字列になります。
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
HTTP メソッドと URL:
POST https://vision.googleapis.com/v1/images:annotate
JSON 本文のリクエスト:
{ "requests": [ { "image": { "content": "base64-encoded-image" }, "features": [ { "type": "LOGO_DETECTION" }, ] } ] }
リクエストを送信するには、次のいずれかのオプションを選択します。
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": [ { "logoAnnotations": [ { "mid": "/m/045c7b", "description": "google", "score": 0.980325, "boundingPoly": { "vertices": [ { "x": 12, "y": 42 }, { "x": 439, "y": 42 }, { "x": 439, "y": 285 }, { "x": 12, "y": 285 } ] } } ] } ] }
Go
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Go の設定手順を行ってください。詳細については、Vision Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Vision API クイックスタート: クライアント ライブラリの使用の Java の設定手順を行ってください。詳細については、Vision API Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を行ってください。詳細については、Vision Node.js API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Python の設定手順を行ってください。詳細については、Vision Python API のリファレンス ドキュメントをご覧ください。
その他の言語
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Vision リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Vision リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Vision リファレンス ドキュメントをご覧ください。
リモート画像でのロゴの検出
Vision API は、Google Cloud Storage またはウェブに存在する画像ファイルに対して直接特徴検出を実行できるようになっています。その画像ファイルの内容をリクエストの本文に入れて送信する必要はありません。
REST とコマンドライン
リクエストのデータを使用する前に、次のように置き換えます。
- cloud-storage-image-uri: Cloud Storage バケット内の有効な画像ファイルへのパス。少なくとも、ファイルに対する読み取り権限が必要です。たとえば次のように指定します。
gs://cloud-samples-data/vision/logo/google_logo.jpg
HTTP メソッドと URL:
POST https://vision.googleapis.com/v1/images:annotate
JSON 本文のリクエスト:
{ "requests": [ { "image": { "source": { "gcsImageUri": "cloud-storage-image-uri" } }, "features": [ { "type": "LOGO_DETECTION" }, ] } ] }
リクエストを送信するには、次のいずれかのオプションを選択します。
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": [ { "logoAnnotations": [ { "mid": "/m/045c7b", "description": "google", "score": 0.980325, "boundingPoly": { "vertices": [ { "x": 12, "y": 42 }, { "x": 439, "y": 42 }, { "x": 439, "y": 285 }, { "x": 12, "y": 285 } ] } } ] } ] }
Go
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Go の設定手順を行ってください。詳細については、Vision Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Java の設定手順を行ってください。詳細については、Vision Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Node.js の設定手順を行ってください。詳細については、Vision Node.js API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、Vision クイックスタート: クライアント ライブラリの使用にある Python の設定手順を行ってください。詳細については、Vision Python API のリファレンス ドキュメントをご覧ください。
gcloud
画像プロパティの検出を行うには、次の例で示すように gcloud ml vision detect-logos
コマンドを使用します。
gcloud ml vision detect-logos gs://cloud-samples-data/vision/logo/google_logo.jpg
その他の言語
C#: クライアント ライブラリ ページの C# の設定手順を行ってから、.NET 用の Vision リファレンス ドキュメントをご覧ください。
PHP: クライアント ライブラリ ページの PHP の設定手順を行ってから、PHP 用の Vision リファレンス ドキュメントをご覧ください。
Ruby: クライアント ライブラリ ページの Ruby の設定手順を行ってから、Ruby 用の Vision リファレンス ドキュメントをご覧ください。
試してみる
下の画像でロゴの検出をお試しください。前のセクションで指定した画像(gs://cloud-samples-data/vision/logo/google_logo.jpg
)を使用しても構いませんし、ご自分の画像を指定して試してみるのもよいでしょう。[実行] を選択してリクエストを送信します。

リクエストの本文:
{ "requests": [ { "features": [ { "type": "LOGO_DETECTION" } ], "image": { "source": { "imageUri": "gs://cloud-samples-data/vision/logo/google_logo.jpg" } } } ] }