Dopo aver creato il set di prodotti e aver eseguito l'indicizzazione, puoi eseguire query sul set di prodotti utilizzando l'API Cloud Vision.
Ricerca di prodotti corrispondenti
Puoi trovare prodotti simili a una determinata immagine passando l'URI di Google Cloud Storage, l'URL web o la stringa codificata in base64 dell'immagine a Vision API Product Search. Consulta la sezione Limiti di utilizzo per informazioni sulle dimensioni massime delle richieste e sulle quote.
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
I seguenti esempi leggono un file locale e eseguono query sull'API includendo nella richiesta i byte dell'immagine non elaborata (immagine codificata in base64) in linea.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- BASE64_ENCODED_IMAGE: la rappresentazione base64 (stringa ASCII) dei dati immagine binari. Questa stringa dovrebbe essere simile alla seguente:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- LOCATION_ID: un identificatore della località valido. Gli identificatori di località validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_SET_ID: l'ID per l'insieme di prodotti su cui 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 effettuare la ricerca. Al momento puoi specificare una sola categoria di prodotto (articoli per la casa, abbigliamento, giocattoli, confezionati e in generale).imageContext.filter
- (Facoltativo) Un'espressione (o più espressioni) di filtro chiave-valore per l'etichetta del prodotto. Formato: "key
=value
". Le coppie chiave-valore per i filtri possono essere collegate con espressioni AND o OR: "color
=blue
ANDstyle
=mens
" oppure "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 delle seguenti 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 di risposta include i seguenti due 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 ogni prodotto identificato nell'immagine. Nella seguente risposta è 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 esistano sovrapposizioni tra i due tipi di risultati, potrebbero esserci anche differenze (ad es. 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 saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Go.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare 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 saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Java.
Per autenticarti a Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare 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 saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Node.js.
Per autenticarti a Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare 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 saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Python.
Per autenticarti a Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione per C# nella pagina delle librerie client e poi consulta la documentazione di riferimento di Product Search dell'API Vision per .NET.
PHP: segui le istruzioni di 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 riportate nella pagina delle librerie client e poi consulta 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 specificandone l'URI Cloud Storage.
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: l'ID del tuo progetto Google Cloud.
- LOCATION_ID: un identificatore della località valido. Gli identificatori di località validi sono:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_SET_ID: l'ID per l'insieme di prodotti su cui 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 effettuare la ricerca. Al momento puoi specificare una sola categoria di prodotto (articoli per la casa, abbigliamento, giocattoli, confezionati e in generale).imageContext.filter
- (Facoltativo) Un'espressione (o più espressioni) di filtro chiave-valore per l'etichetta del prodotto. Formato: "key
=value
". Le coppie chiave-valore per i filtri possono essere collegate con espressioni AND o OR: "color
=blue
ANDstyle
=mens
" oppure "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 delle seguenti 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 di risposta include i seguenti due 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 ogni prodotto identificato nell'immagine. Nella seguente risposta è 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 esistano sovrapposizioni tra i due tipi di risultati, potrebbero esserci anche differenze (ad es. 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 saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Go.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare 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 saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Java.
Per autenticarti in Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare 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 saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Node.js.
Per autenticarti a Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare 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 saperne di più, consulta la documentazione di riferimento dell'API Vision API Product Search Python.
Per autenticarti a Vision API Product Search, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: segui le istruzioni di configurazione per C# nella pagina delle librerie client e poi consulta la documentazione di riferimento di Product Search dell'API Vision per .NET.
PHP: segui le istruzioni di 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 Vision API Product Search per Ruby.