Pubblico
L'obiettivo di questo tutorial è aiutarti a sviluppare applicazioni utilizzando la 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 la procedura per eseguire una chiamata all'API Vision per utilizzare la funzionalità di rilevamento web di quest'ultima.
Prerequisiti
- Configura un progetto 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 una
Web detection
richiesta. 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 codici
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 Google Cloud per eseguire il rilevamento web
- Esegue un ciclo sulla risposta e stampa i risultati
- Stampa l'elenco delle entità web con descrizione e punteggio
- Stampa un elenco di pagine corrispondenti
- Stampa un elenco di immagini con corrispondenze parziali
- Stampa 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 dei file di input come argomentiio
per la lettura 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 passato che specifica l'URL dell'immagine web e lo passiamo alla funzione main()
.
Autenticazione nell'API
Prima di comunicare con il servizio dell'API Vision, devi 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,
viene eseguito ottenendo le credenziali dalla variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS
, che deve essere impostata in modo da puntare al file della chiave JSON dell'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, esaminiamo WebDetection e stampiamo le entità e gli URL contenuti nell'annotazione (i due risultati principali di ogni tipo di annotazione sono mostrati nella sezione successiva).
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 un punteggio di pertinenza viene aggiunto dopo le entità elencate. Tieni presente che i punteggi non sono normalizzati o confrontabili tra diverse query di 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.