Detectar rótulos em uma imagem usando a API Cloud Vision

Neste guia de início rápido, você aprende a:

  • Criar um bucket do Cloud Storage.
  • Fazer upload de uma imagem no Cloud Storage e tornar o arquivo acessível publicamente.
  • Fazer uma solicitação para a API Vision com a imagem

Essas etapas levam cerca de cinco minutos. É possível armazenar até 5 GB de dados no Cloud Storage sem custo financeiro e fazer até 1.000 solicitações de recursos por mês para a API Vision sem custo financeiro.

Antes de começar

Se você ainda não fez isso, use as instruções a seguir para configurar o projeto e criar um bucket do Cloud Storage.

Criar o projeto

  1. Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Vision API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Vision API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Funções exigidas

  1. Verifique se você tem o seguinte papel ou papéis no projeto: Administrador do Storage (roles/storage.admin)

    Verificar os papéis

    1. No console do Google Cloud , acesse a página IAM.

      Acessar IAM
    2. Selecione o projeto.
    3. Na coluna Principal, encontre todas as linhas que identificam você ou um grupo no qual você está incluído. Para saber em quais grupos você está incluído, entre em contato com o administrador.

    4. Em todas as linhas que especificam ou incluem você, verifique a coluna Papel para ver se a lista de papéis inclui os papéis necessários.

    Conceder os papéis

    1. No console do Google Cloud , acesse a página IAM.

      Acessar IAM
    2. Selecione o projeto.
    3. Clique em Conceder acesso.
    4. No campo Novos principais, digite seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.

    5. Clique em Selecionar um papel e pesquise o papel.
    6. Para conceder outros papéis, adicione-os clicando em Adicionar outro papel.
    7. Clique em Salvar.

Criar um bucket do Cloud Storage

  1. No console do Google Cloud , acesse a página Buckets do Cloud Storage.

    Acessar buckets

  2. Clique em Criar.
  3. Na página Criar um bucket, insira as informações do seu bucket. Para ir à próxima etapa, clique em Continuar.
    1. Em Nomear o bucket, insira um nome exclusivo. Não inclua informações confidenciais no nome do bucket já que o namespace dele é global e visível para o público.
    2. Na seção Escolha onde armazenar seus dados, faça o seguinte:
      1. Selecione um tipo de local.
      2. Escolha um local onde os dados do bucket são armazenados permanentemente no menu suspenso Tipo de local.
      3. Para configurar a replicação entre buckets, selecione Adicionar replicação entre buckets usando o Serviço de transferência do Cloud Storage e siga estas etapas:

        Configurar a replicação entre buckets

        1. No menu Bucket, selecione um bucket.
        2. Na seção Configurações de replicação, clique em Configurar para definir as configurações do job de replicação.

          O painel Configurar a replicação entre buckets aparece.

          • Para filtrar objetos a serem replicados por prefixo de nome de objeto, insira um prefixo com que você quer incluir ou excluir objetos e clique em Adicionar um prefixo.
          • Para definir uma classe de armazenamento para os objetos replicados, selecione uma classe de armazenamento no menu Classe de armazenamento. Se você pular esta etapa, os objetos replicados vão usar a classe de armazenamento do bucket de destino por padrão.
          • Clique em Concluído.
    3. Na seção Escolha como armazenar seus dados, faça o seguinte:
      1. Na seção Definir uma classe padrão, selecione o seguinte: Padrão.
      2. Para ativar o namespace hierárquico, na seção Otimizar o armazenamento para cargas de trabalho com uso intensivo de dados, selecione Ativar namespace hierárquico neste bucket.
    4. Na seção Escolha como controlar o acesso a objetos, selecione se o bucket aplica ou não a prevenção de acesso público e selecione um método de controle de acesso para os objetos do bucket.
    5. Na seção Escolha como proteger os dados do objeto, faça o seguinte:
      • Selecione qualquer uma das opções em Proteção de dados que você quer definir para o bucket.
        • Para ativar a exclusão reversível, clique na caixa de seleção Política de exclusão reversível (para recuperação de dados) e especifique o número de dias que você quer reter os objetos após a exclusão.
        • Para definir o controle de versões de objetos, clique na caixa de seleção Controle de versões de objetos (para controle de versões) e especifique o número máximo de versões por objeto e o número de dias após os quais as versões não atuais expiram.
        • Para ativar a política de retenção em objetos e buckets, clique na caixa de seleção Retenção (para compliance) e faça o seguinte:
          • Para ativar o bloqueio de retenção de objetos, clique na caixa de seleção Ativar retenção de objetos.
          • Para ativar o Bloqueio de buckets, clique na caixa de seleção Definir política de retenção de buckets e escolha uma unidade e um período de armazenamento para a retenção.
      • Para escolher como os dados do objeto serão criptografados, expanda a seção Criptografia de dados () e selecione um método de Criptografia de dados.
  4. Clique em Criar.

Fazer uma solicitação ao Cloud Vision

  1. Salve uma versão local do arquivo de imagem de exemplo a seguir (demo-img.jpg).

    Duas mulheres andando de bicicleta em Jacarta.
    Crédito da imagem: Rohiim Ariful em Unsplash.
  2. No console do Google Cloud , acesse a página Buckets do Cloud Storage.

    Acessar Buckets

  3. Selecione o bucket que você criou na seção anterior.

  4. Clique em Fazer upload de arquivos e selecione a versão local do arquivo demo-img.jpg para fazer upload para o bucket do Cloud Storage.

  5. Depois que o arquivo for enviado e aparecer no bucket do Cloud Storage, compartilhe a imagem publicamente.

  6. Na seção Testar este método, preencha o modelo interativo do API Explorer substituindo cloud-samples-data/vision no campo image.source.imageUri pelo nome do bucket do Cloud Storage no qual foi feito upload do arquivo demo-img.jpg. O corpo da solicitação deve ficar assim:

    {
      "requests": [
        {
          "features": [
            {
              "type": "LABEL_DETECTION"
            }
          ],
          "image": {
            "source": {
              "imageUri": "gs://cloud-samples-data/vision/demo-img.jpg"
            }
          }
        }
      ]
    }

  7. Clique em Executar para enviar a solicitação ao serviço. A resposta JSON aparece após o corpo da solicitação.

Parabéns! Você fez sua primeira solicitação images.annotate ao Cloud Vision.

Limpar

Para evitar cobranças desnecessárias do Google Cloud , use o console do Google Cloud para excluir o bucket do Cloud Storage (e seu projeto) se você não precisar deles.

A seguir