Objetivos
Neste exemplo, vai usar a Google Vision API para detetar caras numa imagem. Para provar a si próprio que os rostos foram detetados corretamente, vai usar esses dados para desenhar uma caixa à volta de cada rosto.
Custos
Neste documento, usa os seguintes componentes faturáveis do Google Cloud:
- Cloud Vision
Para gerar uma estimativa de custos com base na sua utilização projetada,
use a calculadora de preços.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Google Cloud Vision API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Google Cloud Vision API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - Configure o seu ambiente para usar as Credenciais padrão da aplicação.
-
Configurar tarefas e ferramentas específicas do idioma:
C#
- Instale a biblioteca cliente Google
- Instale o Visual Studio 2012/2015.
Java
- Instale o Java.
- Referência da API.
Transfira e instale o sistema de compilação Apache Maven. O Maven garante que a biblioteca cliente de APIs Google e as bibliotecas cliente da API Vision são instaladas quando o projeto é criado, porque as incluímos no
pom.xml
....
Node.js
- Instale a biblioteca cliente Google
- Instale o node.js.
- Referência da API.
Instale o npm e o node-canvas. O exemplo de código inclui um
package.json
para instalar todas as dependências através do comando:npm install
. Tenha em atenção que o node-canvas tem dependências adicionais que pode ter de instalar. Consulte o documento de instalação do node-canvas para mais informações.
PHP
- Instale a biblioteca cliente Google
- Instale o PHP e o Composer.
- Referência da API.
- Instale e ative o GD para PHP.
Python
- Instale a biblioteca cliente Google
- Instale o Python.
- Referência da API.
- Instala pillow.
Ruby
- Instale a biblioteca cliente Google
- Instale o Ruby e o Bundler.
- Referência da API.
- Instale o ImageMagick.
Crie o objeto de serviço
Para aceder às APIs Google através dos SDKs de cliente oficiais, cria um objeto de serviço com base no documento de descoberta da API, que descreve a API ao SDK. Tem de obtê-lo no serviço de deteção da API Vision, usando as suas credenciais:
Java
Node.js
Python
Envie um pedido de deteção de caras
Para criar um pedido à API Vision, consulte primeiro a documentação
da API. Neste caso, está a pedir ao recurso images
que annotate
a sua imagem. Um pedido a esta API assume a forma de um objeto com uma lista requests
. Cada item desta lista contém duas informações:
- Os dados da imagem codificados em base64
- Uma lista de funcionalidades que quer anotar sobre essa imagem.
Para este exemplo, basta pedir a anotação FACE_DETECTION
numa imagem e devolver a parte relevante da resposta:
Java
Node.js
Python
Processe a resposta
Parabéns! Detetou as caras na sua imagem. A resposta ao nosso pedido de anotação de caras inclui um conjunto de metadados sobre as caras detetadas, que incluem coordenadas de um polígono que abrange a cara. No entanto, neste momento, esta é apenas uma lista de números. Vamos usá-las para confirmar que encontrou as caras na sua imagem. Vamos desenhar polígonos numa cópia da imagem, usando as coordenadas devolvidas pela API Vision:
Combine tudo
Java
...
Para criar e executar o exemplo, execute os seguintes comandos a partir do diretório do código de exemplo:
mvn clean compile assembly:single java -cp target/vision-face-detection-1.0-SNAPSHOT-jar-with-dependencies.jar \ com.google.cloud.vision.samples.facedetect.FaceDetectApp \ data/face.jpg \ output.jpg
Node.js
Para executar o exemplo, execute o seguinte comando a partir do diretório do código de exemplo:
node faceDetection resources/face.png
Python
Limpar
Para evitar incorrer em custos na sua conta do Google Cloud pelos recursos usados neste tutorial, elimine o projeto que contém os recursos ou mantenha o projeto e elimine os recursos individuais.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.