Il rilevamento dei marchi rileva le strutture naturali e umane più usate all'interno di un'immagine.
Richieste di rilevamento di punti di riferimento
Configurare il progetto GCP e l'autenticazione
Rileva punti di riferimento in un'immagine locale
L'API Vision può eseguire il rilevamento delle caratteristiche in un file immagine locale inviando il contenuto del file immagine come una stringa codificata in base64 nel corpo della richiesta.
REST &CMD LINE
Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
- BASE64_ENCODED_IMAGE: la rappresentazione base64 (stringa ASCII) dei dati immagine binari. Questa stringa deve essere simile alla
seguente stringa:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- (Facoltativo) RESULTS_INT: 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_DETECTION
oCROP_HINTS
.
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON richiesta:
{ "requests": [ { "image": { "content": "BASE64_ENCODED_IMAGE" }, "features": [ { "maxResults": RESULTS_INT, "type": "LANDMARK_DETECTION" }, ] } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
Curling
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-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 il seguente comando:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
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.
Risposta:
{ "responses": [ { "landmarkAnnotations": [ { "mid": "/m/014lft", "description": "Saint Basil's Cathedral", "score": 0.7840959, "boundingPoly": { "vertices": [ { "x": 812, "y": 1058 }, { "x": 2389, "y": 1058 }, { "x": 2389, "y": 3052 }, { "x": 812, "y": 3052 } ] }, "locations": [ { "latLng": { "latitude": 55.752912, "longitude": 37.622315883636475 } } ] } ] } ] }
Go
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nella guida rapida di Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Go.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella Guida rapida all'API Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java dell'API Vision.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nella guida rapida di Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Node.js.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Python.
Lingue aggiuntive
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento di Vision per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e consulta la documentazione di riferimento di Vision per PHP.
Ruby: segui le istruzioni di configurazione di Rubby nella pagina delle librerie client e consulta la documentazione di riferimento di Vision per Ruby.
Rilevare i punti di riferimento in un'immagine remota
Per comodità, l'API Vision può eseguire il rilevamento delle funzionalità direttamente in un file immagine situato in Google Cloud Storage o sul Web, senza dover inviare i contenuti del file immagine nel corpo della richiesta.
REST &CMD LINE
Prima di utilizzare uno qualsiasi dei 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 di privilegi di lettura per il file.
Esempio:
gs://cloud-samples-data/vision/landmark/st_basils.jpeg
- (Facoltativo) RESULTS_INT: 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_DETECTION
oCROP_HINTS
.
Metodo HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON richiesta:
{ "requests": [ { "image": { "source": { "gcsImageUri": "CLOUD_STORAGE_IMAGE_URI" } }, "features": [ { "maxResults": RESULTS_INT, "type": "LANDMARK_DETECTION" }, ] } ] }
Per inviare la richiesta, scegli una delle seguenti opzioni:
Curling
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
curl -X POST \
-H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
-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 il seguente comando:
$cred = gcloud auth application-default print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
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.
Risposta:
{ "responses": [ { "landmarkAnnotations": [ { "mid": "/m/014lft", "description": "Saint Basil's Cathedral", "score": 0.7840959, "boundingPoly": { "vertices": [ { "x": 812, "y": 1058 }, { "x": 2389, "y": 1058 }, { "x": 2389, "y": 3052 }, { "x": 812, "y": 3052 } ] }, "locations": [ { "latLng": { "latitude": 55.752912, "longitude": 37.622315883636475 } } ] } ] } ] }
Go
Prima di provare questo esempio, segui le istruzioni per la configurazione di Go nella guida rapida di Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Go.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nella guida rapida di Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Java.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nella guida rapida di Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Node.js.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Vision che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vision Python.
gcloud
Per eseguire il rilevamento dei punti di riferimento, utilizza il comando
gcloud ml vision detect-landmarks
come mostrato nell'esempio seguente:
gcloud ml vision detect-landmarks gs://cloud-samples-data/vision/landmark/st_basils.jpeg
Lingue aggiuntive
C#: segui le istruzioni di configurazione di C# nella pagina delle librerie client e consulta la documentazione di riferimento di Vision per .NET.
PHP: segui le istruzioni per la configurazione di PHP nella pagina delle librerie client e consulta la documentazione di riferimento di Vision per PHP.
Ruby: segui le istruzioni di configurazione di Rubby nella pagina delle librerie client e consulta la documentazione di riferimento di Vision per Ruby.
Prova
Prova il rilevamento dei punti di riferimento qui sotto. Puoi utilizzare l'immagine già specificata (gs://cloud-samples-data/vision/landmark/st_basils.jpeg
) o specificarne una personalizzata in sostituzione. Invia la richiesta selezionando Esegui.
Corpo della richiesta:
{ "requests": [ { "features": [ { "maxResults": 10, "type": "LANDMARK_DETECTION" } ], "image": { "source": { "imageUri": "gs://cloud-samples-data/vision/landmark/st_basils.jpeg" } } } ] }