Dopo aver creato il set di prodotti e dopo che è 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 ed eseguono query sull'API includendo inline i byte dell'immagine non elaborata (immagine codificata Base64) nella richiesta.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- BASE64_ENCODED_IMAGE: la rappresentazione in Base64 (stringa ASCII) dei dati dell'immagine binaria. 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 i campi:
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
,
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 riesce, il server restituisce un codice di stato HTTP 200 OK
e la risposta in formato JSON.
Il JSON di 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 ci sia 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 la sezione Librerie client di Vision API Product Search. Per saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Go.
Per eseguire l'autenticazione 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 la sezione Librerie client di Vision API Product Search. Per saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Java.
Per eseguire l'autenticazione 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 la sezione Librerie client di Vision API Product Search. Per saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Node.js.
Per eseguire l'autenticazione 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 la sezione Librerie client di Vision API Product Search. Per saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Python.
Per eseguire l'autenticazione 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 visita 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 i campi:
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
,
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 riesce, il server restituisce un codice di stato HTTP 200 OK
e la risposta in formato JSON.
Il JSON di 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 ci sia 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 la sezione Librerie client di Vision API Product Search. Per saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Go.
Per eseguire l'autenticazione 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 la sezione Librerie client di Vision API Product Search. Per saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Java.
Per eseguire l'autenticazione 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 la sezione Librerie client di Vision API Product Search. Per saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Node.js.
Per eseguire l'autenticazione 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 la sezione Librerie client di Vision API Product Search. Per saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Python.
Per eseguire l'autenticazione 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 visita 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.