Dopo aver creato il set di prodotti e che questo sia stato indicizzato, puoi eseguire query sul set di prodotti utilizzando l'API Cloud Vision.
Ricerca di prodotti corrispondenti
Puoi trovare prodotti simili a una determinata immagine trasmettendo l'URI Google Cloud Storage, l'URL web o la stringa codificata in base64 dell'immagine all'API Vision Product Search. Consulta i limiti di utilizzo per informazioni sulla quota e sulle dimensioni massime delle richieste.
Consulta l'argomento Informazioni su risposte della ricerca e rilevamento multiplo per un esempio di rilevamento di un singolo prodotto e di rilevamento multiplo di prodotti in un'immagine.
Cercare utilizzando un'immagine locale
Gli esempi seguenti leggono un file locale e interrogano l'API includendo inline i byte dell'immagine non elaborata (immagine codificata in base64) nella richiesta.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- BASE64_ENCODED_IMAGE: La rappresentazione
Base64 (stringa ASCII) dei dati binari dell'immagine. Questa stringa dovrebbe essere simile alla
seguente:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID: il tuo ID progetto Google Cloud .
- LOCATION_ID: un identificatore di località valido. Gli identificatori di località validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_SET_ID: L'ID del set di prodotti su cui vuoi eseguire l'operazione.
Considerazioni specifiche per campo:
features.maxResults
: il numero massimo di risultati da restituire.imageContext.productCategories
: la categoria di prodotto in cui eseguire la ricerca. Al momento puoi specificare una sola categoria di prodotti (articoli per la casa, abbigliamento, giocattoli, confezionati e in generale ).imageContext.filter
- (Facoltativo) Un'espressione di filtro chiave-valore (o più espressioni) per l'etichetta del prodotto. Formato: "key
=value
". Le coppie chiave-valore di filtro possono essere collegate con espressioni AND o OR: "color
=blue
ANDstyle
=mens
" o "color
=blue
ORcolor
=black
". Se utilizzi l'espressione OR, tutte le chiavi nell'espressione devono essere uguali.
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON della richiesta:
{ "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" } } } ] }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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
Se la richiesta riesce, il server restituisce un codice di stato HTTP 200 OK
e la risposta in formato JSON.
Il JSON della risposta include i due seguenti tipi di risultati:
productSearchResults
: contiene un elenco di prodotti corrispondenti per l'intera immagine. Nella risposta di esempio, i prodotti corrispondenti sono: product_id65, product_id35, product_id34, product_id62, product_id32.productGroupedResults
: contiene le coordinate del riquadro di delimitazione e gli articoli corrispondenti per ogni prodotto identificato nell'immagine. Nella risposta seguente è identificato un solo prodotto, seguito dai prodotti corrispondenti nel set di prodotti di esempio: product_id65, product_id35, product_id34, product_id93, product_id62.
Tieni presente che, sebbene esista una sovrapposizione nei due tipi di risultati, potrebbero esserci anche differenze (ad esempio, product_id32 e product_id93 nella risposta).
Go
Per scoprire come installare e utilizzare la libreria client per Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision API Product Search per Go.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision API Product Search per Java.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision API Product Search per Node.js.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision API Product Search per Python.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: Segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi visita la documentazione di riferimento di Vision API Product Search per .NET.
PHP: Segui le istruzioni di configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision API Product Search per PHP.
Ruby: Segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di Vision API Product Search per Ruby.
Cercare utilizzando un'immagine remota
Puoi anche trovare prodotti simili a una determinata immagine specificando l'URI Cloud Storage dell'immagine.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- CLOUD_STORAGE_IMAGE_URI: il percorso di un file immagine valido
in un bucket Cloud Storage. Devi disporre almeno dei privilegi di lettura per il file.
Esempio:
gs://storage-bucket/filename.jpg
- PROJECT_ID: il tuo ID progetto Google Cloud .
- LOCATION_ID: un identificatore di località valido. Gli identificatori di località validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_SET_ID: L'ID del set di prodotti su cui vuoi eseguire l'operazione.
Considerazioni specifiche per campo:
features.maxResults
: il numero massimo di risultati da restituire.imageContext.productCategories
: la categoria di prodotto in cui eseguire la ricerca. Al momento puoi specificare una sola categoria di prodotti (articoli per la casa, abbigliamento, giocattoli, confezionati e in generale ).imageContext.filter
- (Facoltativo) Un'espressione di filtro chiave-valore (o più espressioni) per l'etichetta del prodotto. Formato: "key
=value
". Le coppie chiave-valore di filtro possono essere collegate con espressioni AND o OR: "color
=blue
ANDstyle
=mens
" o "color
=blue
ORcolor
=black
". Se utilizzi l'espressione OR, tutte le chiavi nell'espressione devono essere uguali.
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON della richiesta:
{ "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" } } } ] }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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
Se la richiesta riesce, il server restituisce un codice di stato HTTP 200 OK
e la risposta in formato JSON.
Il JSON della risposta include i due seguenti tipi di risultati:
productSearchResults
: contiene un elenco di prodotti corrispondenti per l'intera immagine. Nella risposta di esempio, i prodotti corrispondenti sono: product_id65, product_id35, product_id34, product_id62, product_id32.productGroupedResults
: contiene le coordinate del riquadro di delimitazione e gli articoli corrispondenti per ogni prodotto identificato nell'immagine. Nella risposta seguente è identificato un solo prodotto, seguito dai prodotti corrispondenti nel set di prodotti di esempio: product_id65, product_id35, product_id34, product_id93, product_id62.
Tieni presente che, sebbene esista una sovrapposizione nei due tipi di risultati, potrebbero esserci anche differenze (ad esempio, product_id32 e product_id93 nella risposta).
Go
Per scoprire come installare e utilizzare la libreria client per Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision API Product Search per Go.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision API Product Search per Java.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision API Product Search per Node.js.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Vision API Product Search, consulta Librerie client di Vision API Product Search. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision API Product Search per Python.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: Segui le istruzioni di configurazione di C# nella pagina delle librerie client e poi visita la documentazione di riferimento di Vision API Product Search per .NET.
PHP: Segui le istruzioni di configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision API Product Search per PHP.
Ruby: Segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi visita la documentazione di riferimento di Vision API Product Search per Ruby.