Neste artigo, vamos explorar um exemplo de código em Python para detectar faces em uma imagem, desenhar círculos vermelhos ao redor das faces detectadas, adicionar informações sobre as faces detectadas à imagem e salvar essas informações em um arquivo JSON. Vamos utilizar a biblioteca InsightFace para detectar as faces e a biblioteca PIL para manipular as imagens.
Pré-requisitos:
Certifique-se de ter as seguintes bibliotecas instaladas:
insightface
: Para a detecção de faces.PIL
: Para manipulação de imagens.numpy
: Para operações numéricas.json
: Para manipulação de arquivos JSONdatetime
: Para obter informações de data e hora.os
: Para manipulação de caminhos de arquivo.- buffalo_l: última versão do modelo buffalo_l.
Você pode instalar as bibliotecas necessárias usando o gerenciador de pacotes pip
.

Passo a Passo:
- Carregando a Imagem: Começamos carregando uma imagem usando a biblioteca PIL. Definimos o caminho da imagem e usamos a função
Image.open()
para carregar a imagem. - Inicializando o Modelo de Análise de Rosto: Em seguida, inicializamos o modelo de análise de rosto da InsightFace usando a classe
FaceAnalysis()
. - Preparando o Modelo: Preparamos o modelo para inferência, especificando o contexto de execução e o tamanho da detecção.
- Detectando Faces: Usamos o método
get()
do modelo de análise de rosto para detectar as faces na imagem carregada. O resultado é uma lista de objetos de face. - Desenhando Círculos Vermelhos: Se faces forem detectadas na etapa anterior, desenhamos círculos vermelhos ao redor das faces detectadas na imagem usando a biblioteca PIL.
- Adicionando Informações: Adicionamos informações sobre as faces detectadas à imagem, incluindo o número de faces detectadas e a data e hora da detecção.
- Salvando a Imagem Processada: Salvamos a imagem processada com os círculos vermelhos e as informações adicionadas.
- Salvando Informações em um Arquivo JSON: Salvamos as informações sobre as faces detectadas em um arquivo JSON, incluindo o caminho da imagem processada, o número de faces e a data e hora da detecção.

Conclusão:Neste artigo, exploramos um exemplo de código para detectar faces em uma imagem, desenhar círculos vermelhos ao redor das faces detectadas, adicionar informações sobre as faces detectadas à imagem e salvar essas informações em um arquivo JSON. Este exemplo demonstra como usar a biblioteca InsightFace e a biblioteca PIL para realizar essas tarefas de forma eficiente.
Repositório para download do código
Seja Membro Gratuítamente
Assine a newsletter para receber em seu email as publicações atualizadas neste blog