Hoje eu quero te mostrar como fazer o reconhecimento facial no Python para você melhorar seus próximos projetos em Python.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Hoje eu quero te mostrar como fazer o reconhecimento de rosto no Python para incrementar os seus projetos!
Para essa aula nós vamos utilizar a webcam do seu computador, nós temos até uma aula de como controlar a webcam com Python.
Para esse projeto nós vamos utilizar o Jupyter, a biblioteca OpenCV e a biblioteca Mediapipe.
A biblioteca do OpenCV é uma biblioteca para tratamento de imagens, então ela é muito conhecida nessa parte de imagens.
A biblioteca mediapipe é uma ferramenta para reconhecimento de imagens criada pela Google.
Então você vai poder fazer o reconhecimento não só de rosto como de outras imagens!
import cv2 # importar o opencv -> para instalar rode pip install opencv-python
import mediapipe as mp # para instalar rode pip install mediapipe
webcam = cv2.VideoCapture(0) # para conectar o python com a nossa webcam.
reconhecimento_rosto = mp.solutions.face_detection # ativando a solução de reconhecimento de rosto
desenho = mp.solutions.drawing_utils # ativando a solução de desenho
reconhecedor_rosto = reconhecimento_rosto.FaceDetection() # criando o item que consegue ler uma imagem e reconhecer os rostos ali dentro
while webcam.isOpened():
validacao, frame = webcam.read() # lê a imagem da webcam
if not validacao:
break
imagem = frame
lista_rostos = reconhecedor_rosto.process(imagem) # usa o reconhecedor para criar uma lista com os rostos reconhecidos
if lista_rostos.detections: # caso algum rosto tenha sido reconhecido
for rosto in lista_rostos.detections: # para cada rosto que foi reconhecido
desenho.draw_detection(imagem, rosto) # desenha o rosto na imagem
cv2.imshow("Rostos na sua webcam", imagem) # mostra a imagem da webcam para a gente
if cv2.waitKey(5) == 27: # ESC # garante que o código vai ser pausado ao apertar ESC (código 27) e que o código vai esperar 5 milisegundos a cada leitura da webcam
break
webcam.release() # encerra a conexão com a webcam
cv2.destroyAllWindows() # fecha a janela que mostra o que a webcam está vendo
Esse é o código que nós vamos utilizar e ele já está todo comentado para facilitar o entendimento.
Então tudo que ficar em azul (após #) é comentário e não faz parte do código, é para facilitar o entendimento do código.
OBS: Essa parte de comentar o código é uma boa prática nos códigos para facilitar o entendimento do código tanto para outras pessoas quanto para quem criou o código e vai utilizá-lo algum tempo depois.
Antes da estrutura while nós vamos importar as bibliotecas, conectar o Python com a webcam, ativar a solução de reconhecimento de rosto (que é uma das possibilidades da biblioteca mediapipe).
Vamos ativar a solução de desenho e criar o item que vai ser responsável por ler uma imagem e reconhecer os rostos.
Essa estrutura de repetição while é necessária para poder deixar a câmera ligada para que você consiga visualizar, caso contrário ela vai abrir e fechar rapidamente que não vai conseguir visualizar nada.
Então tendo a webcam ligada e funcionando nós vamos verificar se algum rosto foi reconhecido e se for reconhecido nós vamos desenhar o rosto na imagem.
E por fim nós vamos mostrar essa imagem para o usuário. Uma parte importante é o código para fechar essa janela utilizando a tecla ESC, pois só de fechar normalmente essa janela ela voltará a abrir.
IMPORTANTE: Essa parte do ESC é muito importante, pois essa tecla é que vai fechar a janela da webcam e de fato finalizar o programa. Se apenas tentar fechar a tela ela não será fechada por conta do while.
Esse aqui é um trecho da aula onde o Lira já faz esse reconhecimento para que você consiga visualizar como o reconhecimento é feito de forma bem eficiente.
Nessa aula eu te mostrei como você pode fazer o reconhecimento facial no Python utilizando a sua webcam para que você possa visualizar esse resultado.
Agora deixo com você a tarefa de utilizar o código para fazer o teste com a sua webcam e verificar o funcionamento do reconhecimento de rosto.
Para acessar outras publicações de Python, clique aqui!
Quer aprender mais sobre Python com um minicurso gratuito?
Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.