Pubblico
L'obiettivo di questo tutorial è aiutarti a sviluppare applicazioni utilizzando Funzionalità di rilevamento web dell'API Vision. Si presume che tu abbia familiarità con le tecniche e i costrutti di programmazione di base, ma anche se sei un programmatore alle prime armi, dovresti essere in grado di seguire ed eseguire questo tutorial senza difficoltà, quindi utilizzare la documentazione di riferimento dell'API Vision per creare applicazioni di base.
Questo tutorial illustra i passaggi di un'applicazione API Vision, che mostrano come per effettuare una chiamata all'API Vision per utilizzare la funzionalità di rilevamento web.
Prerequisiti
- Configura un progetto per l'API Vision nella console Google Cloud.
Configura l'ambiente per l'utilizzo delle Credenziali predefinite dell'applicazione.
Python
- Installa Python.
- Installa pip.
- Installa la libreria client Google Cloud.
Panoramica
Questo tutorial illustra un'applicazione di base dell'API Vision che utilizza un
Richiesta Web detection
. Una Web detection
risposta annotate l'immagine
inviata nella richiesta con:
- Etichette ottenute dal web
- URL dei siti con immagini corrispondenti
- URL di immagini web che corrispondono parzialmente o completamente all'immagine nella richiesta
- URL di immagini visivamente simili
Elenco di codice
Mentre leggi il codice, ti consigliamo di seguire la procedura facendo riferimento al riferimento Python dell'API Vision.
Questa semplice applicazione esegue le seguenti attività:
- Importa le librerie necessarie per eseguire l'applicazione
- Prende un percorso immagine come argomento e lo passa alla funzione
main()
- Utilizza il client API di Google Cloud per eseguire il rilevamento web
- Esegue un ciclo sulla risposta e stampa i risultati
- Stampa l'elenco di entità web con descrizione e punteggio
- Stampa un elenco di pagine corrispondenti
- Stampa un elenco di immagini con corrispondenze parziali
- Consente di stampare un elenco di immagini completamente corrispondenti
Un'occhiata più da vicino
Importazione di librerie
Importiamo le librerie standard:
argparse
per consentire all'applicazione di accettare i nomi file di input come argomentiio
per leggere da file
Altre importazioni:
- La classe
ImageAnnotatorClient
all'interno della libreriagoogle.cloud.vision
per accedere all'API Vision. - Il modulo
types
all'interno della libreriagoogle.cloud.vision
per la creazione delle richieste.
Esecuzione dell'applicazione
Qui, analizziamo semplicemente l'argomento pass-in che specifica l'URL del
dell'immagine web e passarla alla funzione main()
.
Autenticazione nell'API
Prima di comunicare con il servizio API Vision, è necessario
di autenticare il servizio utilizzando le credenziali acquisite in precedenza. All'interno di un'applicazione, il modo più semplice per ottenere le credenziali è utilizzare le credenziali predefinite dell'applicazione (ADC). La libreria client ottiene le credenziali automaticamente. Per impostazione predefinita,
questo viene fatto ottenendo le credenziali dalla variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS
, che deve essere impostata in modo da puntare al file della chiave JSON del tuo account di servizio (per ulteriori informazioni, consulta Configurare un account di servizio).
Creazione della richiesta
Ora che il servizio API Vision è pronto, possiamo creare una richiesta al servizio.
Questo snippet di codice esegue le seguenti attività:
- Crea un'istanza
ImageAnnotatorClient
come client. - Costruisce un oggetto
Image
da un file locale o da un URI. - Passa l'oggetto
Image
al metodoweb_detection
del client. - Restituisce le annotazioni.
Stampa della risposta
Una volta completata l'operazione, procediamo WebDetection, e stampare le entità e gli URL contenuti nell'annotazione (i primi due risultati di ciascun tipo di annotazione sono riportati nella prossima sezione).
Esecuzione dell'applicazione
Per eseguire l'applicazione, passiamo l'URL web (http://www.photos-public-domain.com/wp-content/uploads/2011/01/old-vw-bug-and-van.jpg) della seguente immagine dell'auto.
Ecco il comando Python con l'URL web passato dell'immagine dell'auto, seguito dall'output della console. Tieni presente che il punteggio di pertinenza viene aggiunto dopo il tag per le entità elencate. Tieni presente che i punteggi non sono normalizzati o confrontabili tra diverse query a immagini.
python web_detect.py "http://www.photos-public-domain.com/wp-content/uploads/2011/01/old-vw-bug-and-van.jpg"
5 Pages with matching images retrieved Url : http://www.photos-public-domain.com/2011/01/07/old-volkswagen-bug-and-van/ Url : http://pix-hd.com/old+volkswagen+van+for+sale ... 2 Full Matches found: Url : http://www.photos-public-domain.com/wp-content/uploads/2011/01/old-vw-bug-and-van.jpg Url : http://www.wbwagen.com/media/old-volkswagen-bug-and-van-picture-free-photograph-photos-public_s_66f487042adad5a6.jpg 4 Partial Matches found: Url : http://www.photos-public-domain.com/wp-content/uploads/2011/01/old-vw-bug-and-van.jpg Url : http://www.wbwagen.com/media/old-vw-bug-and-vanjpg_s_ac343d7f041b5f8d.jpg ... 5 Web entities found: Score : 5.35028934479 Description: Volkswagen Beetle Score : 1.43998003006 Description: Volkswagen Score : 0.828279972076 Description: Volkswagen Type 2 Score : 0.75271999836 Description: Van Score : 0.690039992332 Description: Car
Complimenti! Hai eseguito il rilevamento web utilizzando l'API Vision.