Utilizando OpenCv com Python

Utilizando OpenCv e Python para detecção facial.

Imagem do post: https://tecnologia.uol.com.br/noticias/redacao/2014/08/28/reconhecimento-facial-em-rede-social-checa-amigos-e-faz-rosto-virar-dados.htm

Olá a todos,

Como meu primeiro post, vim trazer uma experiência que tive usando o OpenCv na sua versão 2.4.8, utilizando Python na versão 2.7.12 e como sistema operacional Ubuntu!

Tutorial de instalação do OpenCv na sua maquina 🙂

Primeiro, o que é OpenCv ?

OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products. Being a BSD-licensed product, OpenCV makes it easy for businesses to utilize and modify the code.

continue: https://opencv.org/about.html

De uma maneira mais simplista, com essa biblioteca você é capaz de fazer reconhecimento facial de pessoas, objetos, textos e o que mais sua criatividade permitir. A biblioteca possui suporte para C++, Python e Java e possui uma boa documentação, em que também possui exemplos que facilitam o aprendizado de como utilizar a biblioteca corretamente.

Depois de ter realizado a instalação em sua maquina, vamos realizar um exemplo de reconhecimento facial a partir de uma foto:

Imagem que será usada para testes da aplicação. Photo from @BendSkincare on Twitter by BendSkincare

 

Repare que logo no inicio, importamos dois arquivos que estão no formato de XML, eles são arquivos que possuem a marcação de quais pontos são necessários para, por exemplo, achar um rosto em uma foto. Esses arquivos se encontram em seu computador na pasta onde ocorreu a instalação do OpenCv,mas você também pode copiar os arquivos do GitHub ( https://github.com/opencv/opencv/tree/master/data/haarcascades ) e colar na pasta onde está salvo o projeto.

No método *.detectMultiScale, existem 3  campos defaults em que eles são o arquivo de imagem, o tamanho mínimo e o tamanho máximo de  pontos na imagem.

Logo abaixo temos um for em que adiciona aos rostos encontrados a marcação de um retângulo e outro for que adiciona retângulos aos olhos desses rostos encontrados.

E se espera como resultado:

Resultado após a execução do programa. Photo from @BendSkincare on Twitter by BendSkincare

 

Podemos observar que um dos olhos não obteve a marcação e ver que a biblioteca pode ter falhas, mas diante da quantidade de rostos e olhos detectados, é possível observar que a biblioteca tem muito a nos oferecer!

 

Vou terminado o post por aqui,

Alguma duvida ou indicação de post não deixe de comentar, vejo vocês na próxima!

6 comentários sobre “Utilizando OpenCv com Python”

  1. Parabéns pelo post !

    Eu já fiz um projeto similar através de outros artigos que encontrei .

    Agora estou pretendo fazer um sistema de controle de acesso baseado em biometria facial , você já tem algo nesse nível ?

    1. Muito obrigado!

      Ainda não tenho nada nesse nível, mas estou começando a desenvolver!
      Siga nosso blog para saber de novos posts, porque assim que terminar de fazer esse código irei divulgar aqui no blog.

Deixe uma resposta