Reconhecimento Facial no Python – OpenCV e Mediapipe
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:
Reconhecimento Facial com Python
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.
Reconhecimento de Rosto no 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á vendoEsse é 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.
Conclusão
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.
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!
Quer aprender mais sobre Python com um minicurso gratuito?


