Dopo aver creato il set di prodotti e averlo indicizzato, puoi eseguire query sul set di prodotti utilizzando l'API Cloud Vision.
Ricerca prodotti corrispondenti
Puoi trovare prodotti simili a una determinata immagine passando l'URI di Google Cloud Storage, l'URL web o la stringa codificata base64 dell'immagine a Product Search dell'API Vision. Consulta i Limiti di utilizzo per informazioni su dimensioni massime della richiesta e quota.
Consulta l'argomento Informazioni sulle risposte della ricerca e sul rilevamento multiplo per un esempio di rilevamento di prodotti singoli e di rilevamento multiplo dei prodotti in un'immagine.
Effettua una ricerca utilizzando un'immagine locale
Gli esempi riportati di seguito leggono un file locale ed eseguono query sull'API includendo i byte dell'immagine non elaborata (immagine con codifica Base64) nella richiesta.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- BASE64_ENCODED_IMAGE: la rappresentazione
base64 (stringa ASCII) dei dati dell'immagine binaria. Questa stringa dovrebbe essere simile alla seguente stringa:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- LOCATION_ID: un identificatore di località valido. Gli identificatori di posizione 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 sul campo:
features.maxResults
. Il numero massimo di risultati da restituire.imageContext.productCategories
: la categoria di prodotto in cui cercare. Al momento puoi specificare una sola categoria di prodotto (articoli per la casa, abbigliamento, giocattoli, articoli confezionati e generale).imageContext.filter
: (facoltativo) un'espressione di filtro (o più espressioni) di coppie chiave-valore per l'etichetta del prodotto. Formato: "key
=value
". L'applicazione di filtri alle coppie chiave-valore può essere collegata con le espressioni AND o OR: "color
=blue
ANDstyle
=mens
" oppure "color
=blue
ORcolor
=black
". Se utilizzi l'espressione OR tutte le chiavi dell'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 delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
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
ed esegui questo comando:
$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 ha esito positivo, il server restituisce un codice di stato HTTP 200 OK
e la risposta in formato JSON.
Il file 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 elementi corrispondenti per ciascun prodotto identificato nell'immagine. Nella risposta seguente viene 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, anche se i due tipi di risultati si sovrappongono, possono esserci anche differenze (ad esempio, product_id32 e product_id93 nella risposta).
Go
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Product Search Go dell'API Vision.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Product Search Java dell'API Vision.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Product Search Node.js dell'API Vision.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Product Search Python dell'API Vision.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, quindi consulta la documentazione di riferimento di Product Search dell'API Vision per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Product Search dell'API Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi consulta la documentazione di riferimento di Product Search dell'API Vision per Ruby.
Cerca utilizzando un'immagine remota
Hai anche la possibilità di trovare prodotti simili a una determinata immagine specificando l'URI Cloud Storage dell'immagine.
REST
Prima di utilizzare i dati della richiesta, effettua 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: l'ID del tuo progetto Google Cloud.
- LOCATION_ID: un identificatore di località valido. Gli identificatori di posizione 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 sul campo:
features.maxResults
. Il numero massimo di risultati da restituire.imageContext.productCategories
: la categoria di prodotto in cui cercare. Al momento puoi specificare una sola categoria di prodotto (articoli per la casa, abbigliamento, giocattoli, articoli confezionati e generale).imageContext.filter
: (facoltativo) un'espressione di filtro (o più espressioni) di coppie chiave-valore per l'etichetta del prodotto. Formato: "key
=value
". L'applicazione di filtri alle coppie chiave-valore può essere collegata con le espressioni AND o OR: "color
=blue
ANDstyle
=mens
" oppure "color
=blue
ORcolor
=black
". Se utilizzi l'espressione OR tutte le chiavi dell'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 delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
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
ed esegui questo comando:
$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 ha esito positivo, il server restituisce un codice di stato HTTP 200 OK
e la risposta in formato JSON.
Il file 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 elementi corrispondenti per ciascun prodotto identificato nell'immagine. Nella risposta seguente viene 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, anche se i due tipi di risultati si sovrappongono, possono esserci anche differenze (ad esempio, product_id32 e product_id93 nella risposta).
Go
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Product Search Go dell'API Vision.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Product Search Java dell'API Vision.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Product Search Node.js dell'API Vision.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare e utilizzare la libreria client per Product Search dell'API Vision, consulta Librerie client di Product Search dell'API Vision. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Product Search Python dell'API Vision.
Per autenticarti a Product Search dell'API Vision, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client, quindi consulta la documentazione di riferimento di Product Search dell'API Vision per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Product Search dell'API Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client e poi consulta la documentazione di riferimento di Product Search dell'API Vision per Ruby.