L'API Vision può rilevare ed estrarre più oggetti in un'immagine con la localizzazione degli oggetti.
La localizzazione degli oggetti identifica più oggetti in un'immagine e fornisce un'annotazione oggetto localizzata per ogni oggetto nell'immagine. Ogni LocalizedObjectAnnotation
identifica informazioni sull'oggetto, sulla sua posizione e sui limiti rettangolari per la regione dell'immagine che contiene l'oggetto.
La localizzazione degli oggetti identifica gli oggetti significativi e meno in evidenza in un'immagine.
Le informazioni sugli oggetti vengono restituite solo in inglese. Cloud Translation può tradurre le etichette in inglese in varie altre lingue.
Ad esempio, l'API restituisce le seguenti informazioni e i dati sulla posizione delimitata per gli oggetti nell'immagine precedente:
Nome | mid | Punteggio | Limiti |
---|---|---|---|
Ruota di bicicletta | /m/01bqk0 | 0,89648587 | (0.32076266, 0.78941387), (0.43812272, 0.78941387), (0.43812272, 0.97331065), (0.32076266, 0.97331065) |
In bici | /m/0199g | 0,886761 | (0.312, 0.6616471), (0.638353, 0.6616471), (0.638353, 0.9705882), (0.312, 0.9705882) |
Ruota per bicicletta | /m/01bqk0 | 0,6345275 | (0.5125398, 0.760708), (0.6256646, 0.760708), (0.6256646, 0.94601655), (0.5125398, 0.94601655) |
Cornice | /m/06z37_ | 0,6207608 | (0,79177403, 0,16160682), (0,97047985, 0,16160682), (0,97047985, 0,31348917), (0,79177403, 0,31348917) |
Pneumatico | /m/0h9mv | 0,55886006 | (0,32076266, 0,78941387), (0,43812272, 0,78941387), (0,43812272, 0,97331065), (0,32076266, 0,97331065) |
Porta | /m/02dgv | 0,5160098 | (0.77569866, 0.37104446), (0.9412425, 0.37104446), (0.9412425, 0.81507325), (0.77569866, 0.81507325) |
mid contiene un identificatore (MID) generato automaticamente corrispondente alla voce del Knowledge Graph di Google di un'etichetta. Per informazioni sull'ispezione dei valori mid, consulta la documentazione dell'API Search di Knowledge Graph di Google.
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni dell'API Cloud Vision in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
Prova l'API Cloud Vision gratuitamenteRichieste di localizzazione di oggetti
Configura il progetto Google Cloud e l'autenticazione
Rilevare oggetti in un'immagine locale
Puoi utilizzare l'API Vision per eseguire il rilevamento delle caratteristiche su un file immagine locale.
Per le richieste REST, invia i contenuti del file immagine come stringa con codifica base64 nel corpo della richiesta.
Per le richieste gcloud
e della libreria client, specifica il percorso di un'immagine locale nella richiesta.
REST
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- BASE64_ENCODED_IMAGE: il base64
(stringa ASCII) dei dati dell'immagine binaria. Questa stringa dovrebbe essere simile alla
stringa riportata di seguito:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- RESULTS_INT: (facoltativo) un valore intero dei risultati da
per tornare indietro. Se ometti il campo
"maxResults"
e il relativo valore, l'API restituisce il valore predefinito di 10 risultati. Questo campo non si applica ai seguenti tipi di elementi:TEXT_DETECTION
,DOCUMENT_TEXT_DETECTION
oCROP_HINTS
. - PROJECT_ID: l'ID del tuo progetto Google Cloud.
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON della richiesta:
{ "requests": [ { "image": { "content": "BASE64_ENCODED_IMAGE" }, "features": [ { "maxResults": RESULTS_INT, "type": "OBJECT_LOCALIZATION" }, ] } ] }
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.
Risposta:
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go riportate nella guida rapida di Vision con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Go.
Per autenticarti a Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nel Guida rapida dell'API Vision Utilizzo delle librerie client. Per ulteriori informazioni, consulta documentazione di riferimento Java dell'API Vision.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nel Guida rapida di Vision utilizzando librerie client. Per ulteriori informazioni, consulta API Vision Node.js documentazione di riferimento.
Per autenticarti a Vision, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nel Guida rapida di Vision utilizzando librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Python.
Per autenticarti a Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento di Vision per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di 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 per Ruby.
Rilevare oggetti in un'immagine remota
Puoi utilizzare l'API Vision per eseguire il rilevamento delle caratteristiche su un file immagine remoto che si trova in Cloud Storage o sul web. Per inviare una richiesta di file remoto, specifica l'URL web o l'URI Cloud Storage del file nel corpo della richiesta.
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:
https://cloud.google.com/vision/docs/images/bicycle_example.png
- RESULTS_INT: (facoltativo) un valore intero dei risultati da
per tornare indietro. Se ometti il campo
"maxResults"
e il relativo valore, l'API restituisce il valore predefinito di 10 risultati. Questo campo non si applica ai seguenti tipi di elementi:TEXT_DETECTION
,DOCUMENT_TEXT_DETECTION
oCROP_HINTS
. - PROJECT_ID: l'ID del tuo progetto Google Cloud.
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON della richiesta:
{ "requests": [ { "image": { "source": { "imageUri": "CLOUD_STORAGE_IMAGE_URI" } }, "features": [ { "maxResults": RESULTS_INT, "type": "OBJECT_LOCALIZATION" }, ] } ] }
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
,
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.
Risposta:
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go riportate nella guida rapida di Vision con le librerie client. Per ulteriori informazioni, consulta API Vision Go documentazione di riferimento.
Per autenticarti a Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nel Guida rapida dell'API Vision Utilizzo delle librerie client. Per ulteriori informazioni, consulta documentazione di riferimento Java dell'API Vision.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js riportate nella guida rapida di Vision con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Node.js.
Per autenticarti a Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nel Guida rapida di Vision utilizzando librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Python.
Per autenticarti a Vision, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
gcloud
Per rilevare le etichette in un'immagine, utilizza il
comando
gcloud ml vision detect-objects
come mostrato nell'esempio seguente:
gcloud ml vision detect-objects https://cloud.google.com/vision/docs/images/bicycle_example.png
Linguaggi aggiuntivi
C#: Segui le Istruzioni per la configurazione di C# Nella pagina delle librerie client e poi visita Documentazione di riferimento di Vision per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client e poi consulta la documentazione di riferimento di Vision per PHP.
Ruby: Segui le Istruzioni per la configurazione di Ruby Nella pagina delle librerie client e poi visita Documentazione di riferimento di Vision per Ruby.
Prova
Prova il rilevamento e la localizzazione degli oggetti con il seguente strumento. Puoi utilizzare lo
immagine già specificata (https://cloud.google.com/vision/docs/images/bicycle_example.png
)
o specificare una tua immagine al suo posto. Invia la richiesta selezionando
Esegui.
Corpo della richiesta:
{ "requests": [ { "features": [ { "maxResults": 10, "type": "OBJECT_LOCALIZATION" } ], "image": { "source": { "imageUri": "https://cloud.google.com/vision/docs/images/bicycle_example.png" } } } ] }