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 LocalizedObjectAnnotation
per ogni oggetto nell'immagine. Ogni LocalizedObjectAnnotation identifica
informazioni sull'oggetto, la posizione dell'oggetto e i limiti rettangolari
per la regione dell'immagine che contiene l'oggetto.
La localizzazione di oggetti identifica gli oggetti più importanti e quelli 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 del riquadro di selezione per gli oggetti nell'immagine precedente:
| Nome | mid | Punteggio | Limiti |
|---|---|---|---|
| Ruota per 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 generato automaticamente (MID) corrispondente a una voce del Knowledge Graph di Google di un'etichetta. Per informazioni sull'ispezione dei valori mid, consulta la documentazione dell'API Google Knowledge Graph Search.
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni di API Cloud Vision in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
Prova l'API Cloud Vision senza costiRichieste 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 funzionalità 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 delle librerie client, specifica il percorso di un'immagine locale nella tua richiesta.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- 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==
- RESULTS_INT: (facoltativo) un valore intero dei risultati da restituire. 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 funzionalità:TEXT_DETECTION,DOCUMENT_TEXT_DETECTIONoCROP_HINTS. - PROJECT_ID: l'ID 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 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.
Risposta:
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Vision per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Vision Go.
Per eseguire l'autenticazione in Vision, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida dell'API Vision che utilizza le librerie client. Per saperne di più, consulta la documentazione di riferimento di Vision API Java.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Vision per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Vision Node.js.
Per eseguire l'autenticazione in Vision, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Vision per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Vision Python.
Per eseguire l'autenticazione in Vision, configura le Credenziali predefinite dell'applicazione. Per saperne di più, 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, poi consulta la documentazione di riferimento di Vision per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, 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 funzionalità 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 del file o l'URI Cloud Storage nel corpo della richiesta.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- 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 restituire. 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 funzionalità:TEXT_DETECTION,DOCUMENT_TEXT_DETECTIONoCROP_HINTS. - PROJECT_ID: l'ID 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 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.
Risposta:
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Vision per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Vision Go.
Per eseguire l'autenticazione in Vision, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida dell'API Vision che utilizza le librerie client. Per saperne di più, consulta la documentazione di riferimento di Vision API Java.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Vision per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Vision Node.js.
Per eseguire l'autenticazione in Vision, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Vision per l'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Vision Python.
Per eseguire l'autenticazione in Vision, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura 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 di configurazione di C# nella pagina delle librerie client, poi consulta la documentazione di riferimento di Vision per .NET.
PHP: segui le istruzioni di configurazione di PHP nella pagina delle librerie client, poi consulta la documentazione di riferimento di Vision per PHP.
Ruby: segui le istruzioni di configurazione di Ruby nella pagina delle librerie client, poi consulta la documentazione di riferimento di Vision per Ruby.
Prova
Prova il rilevamento e la localizzazione degli oggetti con il seguente strumento. Puoi utilizzare l'immagine
già specificata (https://cloud.google.com/vision/docs/images/bicycle_example.png)
o specificarne una personalizzata. 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"
}
}
}
]
}