8 de nov de 2014

Instalando OpenCV no Linux sem dores de cabeça


OpenCV (Open Source Computer Vision Library) é uma biblioteca open source para trabalhar com Visão Computacional. Eu estava tentando instalar no linux (uso o Ubuntu 14.04). Depois de tentar muitos jeitos diferentes de instalar a biblioteca, finalmente encontrei a solução. Então nesse nessa postagem eu vou explicar um jeito muito simples de instalar o OpenCV sem ter nenhuma dor de cabeça.

Um tal de jayrambhia fez um script que instala todas as dependências necessárias para o OpenCV funcionar. Além disso, o script também baixa a versão estável mais atual do OpenCV e instala. Resumindo, o script faz TUDO. Depois de rodar o script seu computador estará pronto pra usar a biblioteca em Python, C e C++. Siga os passos.

OBS: Eu testei no Ubuntu e sei que funciona no ArchLinux e RedHat, mas acredito que funciona em qualquer distro.

1 - Instalar o git: Abra o Terminal do linux e digite o seguinte comando:

sudo apt-get install git

2 - Baixando os scripts necessários: Vá até o diretório onde deseja baixar os scripts (Por exemplo com o comando: "cd ~" para ir no diretório pessoal) e digite:

git clone https://github.com/jayrambhia/Install-OpenCV/

Isso irá criar um novo diretório com o nome "Install-OpenCV". Eu fiz um fork dos scripts desse cara. Então caso não exista mais o link mencionado, use o link abaixo:

https://github.com/viniciusmarangoni/Install-OpenCV

3 - Execute o script para instalar o OpenCV: Para isso, voce precisa entrar no diretório criado ao fazer o "git clone" e depois entrar no diretório da distro que você utiliza. No meu caso, entrei no diretório do Ubuntu. Agora basta executar o script opencv_latest.sh como root e aguardar ele finalizar a instalação. No meu caso ficou assim:

vinicius@vinicius:~/Install-OpenCV/Ubuntu$ sudo ./opencv_latest.sh

O script vai baixar a versão estável mais atual do OpenCV, instalar as dependências necessárias, descompactar, compilar (utilizando 4 núcleos do processador) e instalar o OpenCV.
Todo esse processo demora bastante tempo e consome bastante processamento. Principalmente a parte de compilação. Então não se assuste. É normal demorar.

Quando acabar de instalar vai aparecer algo como "OpenCV 2.4.10 ready to be used".


Testando OpenCV

Agora que já instalamos, precisamos testar pra ver se está tudo funcionando normalmente.
Vá até o diretório onde o script foi baixado. No meu caso está em ~/Install-OpenCV
Agora vamos até o diretório onde contém alguns arquivos de teste. Precisamos compilar esses arquivos e depois executá-los. Seguem os passos:

OBS: Estou utilizando Ubuntu. Caso você esteja utilizando outra distro, você deverá adaptar o caminho.

cd Ubuntu/OpenCV/opencv-2.4.10/samples/c/
sudo chmod +x build_all.sh
sudo ./build_all.sh
./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" lena.jpg

O programa que executamos serve para detectar faces. O resultado deve ser parecido com o seguinte:


Eu não sei muito ainda sobre OpenCV, mas precisamos utilizar arquivos de cascade para fazer o reconhecimento de faces. Dá pra fazer o programa reconhecer somente a sua face por exemplo. Em breve farei um post sobre isso.

Esse primeiro exemplo serviu para testar programas feitos em C. Agora vamos testar em C++. Vou utilizar um script para identifição de pessoas. Então a partir do diretório "~/Install-OpenCV/Ubuntu/OpenCV/opencv-2.4.10" eu fiz o seguinte:

./build/bin/cpp-example-peopledetect /home/vinicius/alone.jpg

O a imagem original é essa. O resultado foi o seguinte:


Está funcionando também. Agora vamos testar em python.
Vou utilizar um script que vi nesse blog. Ele é pra detectar faces também. Utilizei uma foto da minha equipe na Maratona Mineira de Programação.


cd ~
wget https://raw.githubusercontent.com/shantnu/FaceDetect/master/face_detect.py
python face_detect.py maratona.jpg /usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml

O resultado foi o seguinte:



É isso aí galera, espero que vocês tenham gostado. Pretendo fazer mais alguns tutoriais de OpenCV em breve. Vou fazendo os tutoriais conforme eu for aprendendo.

3 comentários:

  1. Obrigado, consegui instalar!!! Vc me ajudou mtm, agora só fazer os teste para conferir se está tudo ok

    ResponderExcluir
  2. Show de bola!!! Deu tudo certo, obrigado.

    ResponderExcluir