Público-alvo
O objetivo deste tutorial é ajudar você a desenvolver aplicativos usando o recurso de detecção da Web da API Vision. Presumimos que você esteja familiarizado com construções e técnicas básicas de programação, mas mesmo se você for um programador iniciante, poderá acompanhar e executar este tutorial sem dificuldades e usar a documentação de referência da API Vision para criar aplicativos básicos.
Neste tutorial, discutimos sobre um aplicativo da API Vision e mostramos como fazer uma chamada a ela para usar o recurso de detecção na Web.
Pré-requisitos
- Configure um projeto da API Vision no Console do Google Cloud
Configure o ambiente para usar o Application Default Credentials.
Python
- Instale o Python.
- Instale o pip.
- Instale a biblioteca de cliente do Google Cloud.
Informações gerais
Neste tutorial, apresentamos um aplicativo básico da API Vision que usa uma solicitação Web detection
. Uma resposta Web detection
anota a imagem enviada na solicitação com:
- rótulos recebidos da Web;
- URLs com imagens correspondentes;
- URLs para imagens da Web que correspondem em parte ou totalmente à imagem na solicitação;
- URLs para imagens visualmente similares.
Listagem de códigos
Ao ler o código, recomendamos que você acompanhe a referência da API Vision para Python (em inglês).
Esse aplicativo simples:
- Importa as bibliotecas necessárias para executar o aplicativo
- Usa um caminho de imagem como argumento e o transmite para a função
main()
- Usa o cliente da API Google Cloud para executar a detecção na Web.
- Retorna a resposta e imprime os resultados.
- Imprime uma lista de entidades da Web com descrição e pontuação.
- Imprime uma lista de páginas correspondentes.
- Imprime uma lista de imagens parcialmente correspondentes.
- Imprime uma lista de imagens totalmente correspondentes.
Mais detalhes
Como importar bibliotecas
Importamos bibliotecas padrão:
argparse
para permitir que o aplicativo aceite nomes de arquivo de entrada como argumentos;io
para leitura de arquivos.
Outras importações:
- A classe
ImageAnnotatorClient
na bibliotecagoogle.cloud.vision
para acessar a API Vision. - O módulo
types
na bibliotecagoogle.cloud.vision
para criar solicitações.
Como executar o aplicativo
Neste caso, simplesmente analisamos o argumento transmitido que especifica o URL da imagem da Web e o transmitimos para a função main()
.
Como autenticar com a API
Antes de se comunicar com a API do Vision, você precisa autenticar seu serviço usando as credenciais já adquiridas. A maneira mais simples de receber credenciais em um aplicativo é usar o Application Default Credentials (ADC). A biblioteca de cliente recebe as credenciais automaticamente. Por padrão, isso é feito quando são recebidas as credenciais da variável de ambiente GOOGLE_APPLICATION_CREDENTIALS
. Elas precisam ser configuradas para indicar o arquivo de chave JSON da sua conta de serviço. Para mais informações, consulte Configurar uma conta de serviço.
Como criar a solicitação
Agora que o serviço da Vision API está pronto, podemos criar uma solicitação para ele.
Esse snippet de código executa as seguintes tarefas:
- Cria uma instância
ImageAnnotatorClient
como o cliente. - Cria um objeto
Image
a partir de um arquivo local ou um URI. - Transmite o objeto
Image
para o métodoweb_detection
do cliente. - Retorna as anotações.
Como imprimir a resposta
Após a conclusão da operação, abordamos o WebDetection e imprimimos as entidades e URLs contidos na anotação. Os dois principais resultados de cada tipo de anotação são mostrados na próxima seção.
Como executar o aplicativo
Para executar o aplicativo, transmitimos o URL http://www.photos-public-domain.com/wp-content/uploads/2011/01/old-vw-bug-and-van.jpg da imagem de carro a seguir.
Este é o comando Python com o URL da imagem de carro transmitido, seguido pela saída do console. A pontuação de relevância está localizada após a lista de entidades. As pontuações não são normalizadas ou comparáveis em diferentes consultas de imagem.
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
Parabéns! Você realizou a detecção da Web usando a API Vision.