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!

9 comentários em “Utilizando OpenCv com Python”

  1. I was recommended this blog through my cousin. I’m no
    longer sure whether or not this submit is written by way of him as no one else understand such specific about my difficulty.
    You are incredible! Thanks!

  2. Ótimo post! Parabéns!
    Sou professor e gostaria de desenvolver um app para correção de provas. O OpenCV seria a ferramenta ideal para esse projeto, Matheus Leal?
    Desde já, agradeço.

    1. Obrigado Helio!
      Dentro do conhecimento que possuo sobre o OpenCV, dependendo do formato da prova pode ser possível pensar em alguma solução para esse caso. Não consigo afirmar se seria a melhor biblioteca, mas ela é muito robusta e simples de usar, podendo ser um bom inicio para o desenvolvimento desse projeto.

  3. 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.

    1. Muito obrigado André!
      Pode deixar que vou postar mais coisas sobre o OpenCv e outras novidades, fique ligado aqui no blog XD

    1. Ótimo Henrique, OpenCv é uma ótima biblioteca e da para fazer muitas coisas!
      Qualquer duvida ou curiosidade que descobrir, não deixe de nos mandar.

Comentários estão fechados.