Nachdem Sie die Produktgruppe erstellt und indexiert haben, können Sie diese über die Cloud Vision API abfragen.
Suche nach passenden Produkten
Sie können ähnliche Produkte zu einem bestimmten Bild finden. Dazu übergeben Sie den Google Cloud Storage-URI, die Web-URL oder den base64-codierten String des Bildes an die Vision API-Produktsuche. Im Abschnitt zu Nutzungslimits sind Informationen zur maximalen Anfragegröße und zu den Kontingenten aufgeführt.
Unter dem Thema Suchantworten und Mehrfacherkennung finden Sie ein Beispiel einer Einzelprodukterkennung und Mehrfacherkennung von Produkten in einem Bild.
Suche mit einem lokalen Bild
In den folgenden Beispielen wird gezeigt, wie eine lokale Datei ausgelesen und die API abgefragt wird, indem die Rohdaten des Bildes (Base64-codiertes Bild) in die Anfrage eingefügt werden.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- BASE64_ENCODED_IMAGE: Die Base64-Darstellung (ASCII-String) der Binärbilddaten. Dieser String sollte in etwa so aussehen:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID: Ihre Google Cloud-Projekt-ID.
- LOCATION_ID: eine gültige Standort-ID. Gültige Standort-IDs sind:
us-west1
,us-east1
,europe-west1
undasia-east1
. - PRODUCT_SET_ID: die ID der Produktgruppe, für die Sie den Vorgang ausführen möchten.
Feldspezifische Hinweise:
features.maxResults
– Maximale Anzahl der Ergebnisse, die zurückgegeben werden sollen.imageContext.productCategories
– Produktkategorie, in der gesucht werden soll. Derzeit können Sie nur eine Produktkategorie angeben (Haushaltswaren, Bekleidung, Spielzeug, abgepackte Waren und allgemein).imageContext.filter
(optional): ein Ausdruck (oder mehrere Ausdrücke) zum Filtern nach dem Produktlabel als Schlüssel/Wert-Paar(e). Format: "key
=value
". Das Filtern von Schlüssel/Wert-Paaren kann mit AND- oder OR-Ausdrücken verknüpft werden: "color
=blue
ANDstyle
=mens
", oder "color
=blue
ORcolor
=black
". Bei Verwendung des OR-Ausdrucks müssen alle Schlüssel im Ausdruck gleich sein.
HTTP-Methode und URL:
POST https://vision.googleapis.com/v1/images:annotate
JSON-Text der Anfrage:
{ "requests": [ { "image": { "content": base64-encoded-image }, "features": [ { "type": "PRODUCT_SEARCH", "maxResults": 5 } ], "imageContext": { "productSearchParams": { "productSet": "projects/project-id/locations/location-id/productSets/product-set-id", "productCategories": [ "apparel" ], "filter": "style = womens" } } } ] }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Wenn die Anfrage erfolgreich ist, gibt der Server den HTTP-Statuscode 200 OK
und die Antwort im JSON-Format zurück.
Der JSON-Antwortcode enthält die folgenden zwei Ergebnistypen:
productSearchResults
: enthält eine Liste übereinstimmender Produkte zum gesamten Bild. In der Beispielantwort lauten die übereinstimmenden Produkte: product_id65, product_id35, product_id34, product_id62, product_id32.productGroupedResults
: enthält die Koordinaten der Begrenzungsrahmen und übereinstimmende Objekte für jedes der im Bild erkannten Produkte. In der folgenden Antwort findet sich nur ein erkanntes Produkt, gefolgt von übereinstimmenden Produkten in der Beispielproduktgruppe: product_id65, product_id35, product_id34, product_id93, product_id62.
Beachten Sie, dass es bei den beiden Ergebnistypen zwar Überschneidungen gibt, aber auch Unterschiede auftreten können (z. B. in der Antwort product_id32 und product_id93).
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Go API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Java API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Node.js API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Python API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für Ruby auf.
Suche mit einem Remotebild
Sie können außerdem ähnliche Produkte zu einem bestimmten Bild finden. Dazu geben Sie den Cloud Storage-URI für das Bild an.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- CLOUD_STORAGE_IMAGE_URI: Der Pfad zu einer gültigen Bilddatei in einem Cloud Storage-Bucket. Sie müssen zumindest Leseberechtigungen für die Datei haben.
Beispiel:
gs://storage-bucket/filename.jpg
- PROJECT_ID: Ihre Google Cloud-Projekt-ID.
- LOCATION_ID: eine gültige Standort-ID. Gültige Standort-IDs sind:
us-west1
,us-east1
,europe-west1
undasia-east1
. - PRODUCT_SET_ID: die ID der Produktgruppe, für die Sie den Vorgang ausführen möchten.
Feldspezifische Hinweise:
features.maxResults
– Maximale Anzahl der Ergebnisse, die zurückgegeben werden sollen.imageContext.productCategories
– Produktkategorie, in der gesucht werden soll. Derzeit können Sie nur eine Produktkategorie angeben (Haushaltswaren, Bekleidung, Spielzeug, abgepackte Waren und allgemein).imageContext.filter
(optional): ein Ausdruck (oder mehrere Ausdrücke) zum Filtern nach dem Produktlabel als Schlüssel/Wert-Paar(e). Format: "key
=value
". Das Filtern von Schlüssel/Wert-Paaren kann mit AND- oder OR-Ausdrücken verknüpft werden: "color
=blue
ANDstyle
=mens
", oder "color
=blue
ORcolor
=black
". Bei Verwendung des OR-Ausdrucks müssen alle Schlüssel im Ausdruck gleich sein.
HTTP-Methode und URL:
POST https://vision.googleapis.com/v1/images:annotate
JSON-Text der Anfrage:
{ "requests": [ { "image": { "source": { "gcsImageUri": "cloud-storage-image-uri" } }, "features": [ { "type": "PRODUCT_SEARCH", "maxResults": 5 } ], "imageContext": { "productSearchParams": { "productSet": "projects/project-id/locations/location-id/productSets/product-set-id", "productCategories": [ "apparel" ], "filter": "style = womens" } } } ] }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
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"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$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
Wenn die Anfrage erfolgreich ist, gibt der Server den HTTP-Statuscode 200 OK
und die Antwort im JSON-Format zurück.
Der JSON-Antwortcode enthält die folgenden zwei Ergebnistypen:
productSearchResults
: enthält eine Liste übereinstimmender Produkte zum gesamten Bild. In der Beispielantwort lauten die übereinstimmenden Produkte: product_id65, product_id35, product_id34, product_id62, product_id32.productGroupedResults
: enthält die Koordinaten der Begrenzungsrahmen und übereinstimmende Objekte für jedes der im Bild erkannten Produkte. In der folgenden Antwort findet sich nur ein erkanntes Produkt, gefolgt von übereinstimmenden Produkten in der Beispielproduktgruppe: product_id65, product_id35, product_id34, product_id93, product_id62.
Beachten Sie, dass es bei den beiden Ergebnistypen zwar Überschneidungen gibt, aber auch Unterschiede auftreten können (z. B. in der Antwort product_id32 und product_id93).
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Go API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Java API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Node.js API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für die Vision API-Produktsuche finden Sie unter Vision API-Produktsuche-Clientbibliotheken. Weitere Informationen finden Sie in der Vision API Produktsuche Python API Referenzdokumentation.
Richten Sie zur Authentifizierung bei der Vision API-Produktsuche Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Vision API Product Search-Referenzdokumentation für Ruby auf.