Configurando o OpenCV no Raspberry2
Post date: 31/08/2015 19:16:29
Neste post, serão descritos os procedimentos necessários para configurar o OpenCV no Raspberry PI 2.
Antes de iniciar as configurações, é necessário obter os seguintes pre-requisitos:
Pré-requisitos
Imagem do RASPIBIAN, disponível no site: https://www.raspberrypi.org/downloads/raspbian/ gravada no sdcard do raspberrypi
Servidor SSH habilitado no raspberry
Cliente SSH, por exemplo, putty.
Opcional: cliente x-windows, configuração no windows disponível no meu site https://sites.google.com/site/rodccosta/tutoriais/windows/Putty-Xming
1. Instalando os pacotes
Deve-se alterar o arquivo /etc/hosts e /etc/hostname.
pi@raspberry $ sudo su root@raspberry # apt-get install libcv2* libcv-dev libcvaux* libhighgui* opencv-doc python-opencv pkg-config gcc g++ make
Depois disto, deve-se criar os links simbólicos de algumas bibliotecas, pois o apt-get não criou os links de todas as libs.
root@raspberry # ln -s /usr/lib/libopencv_photo.so.2.4.1 /usr/lib/libopencv_photo.so root@raspberry # ln -s /usr/lib/libopencv_ts.so.2.4.1 /usr/lib/libopencv_ts.so root@raspberry # ln -s /usr/lib/libopencv_stitching.so.2.4.1 /usr/lib/libopencv_stitching.so root@raspberry # ln -s /usr/lib/libopencv_videostab.so.2.4.1 /usr/lib/libopencv_videostab.so
2. Configurando o pkg-config
Para facilitar as configurações de compilação do opencv, configura-se o pkg-config para armazenar as diretrizes de compilação e ligação
.
root@raspberry # mkdir /var/lib/pkg-config root@raspberry # cd /var/lib/pkg-config root@raspberry # nano opencv.pc
O conteudo do opencv.pc está disponível a seguir:
prefix=/usr
exec_prefix=${prefix}
libdir=${prefix}
includedir_old=${prefix}/include/opencv
includedir_new=${prefix}/include
Name: OpenCV
Description: Intel(R) Open Source Computer Vision Library
Version: 2.4.1
Libs: -L${libdir} -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_ts -lopencv_video -lopencv_videostab
Cflags: -I${includedir_old} -I${includedir_new}
Para concluir a configuração, deve-se criar uma variável de ambiente PKG_CONFIG_PATH apontando para o diretório /var/lib/pkg-config. Para fazer isto, deve-se inserir no final do arquivo .bashrc o seguinte comando.
root@raspberry # echo "export PKG_CONFIG_PATH=/var/lib/pkg-config" >> ~/.bashrc root@raspberry # echo "export PKG_CONFIG_PATH=/var/lib/pkg-config" >> /home/pi/.bashrc
Para testar o pkg-config usa-se
root@raspberry # sh ~/.bashrc root@raspberry # pkg-config opencv --cflags root@raspberry # pkg-config opencv --libs
Após as configurações, deve-se reiniciar o raspberry e pronto, o opencv já está configurado e pronto pra criar programas.
3. Testando
Neste tutorial será criado um programa que carrega uma imagem gravada no sdcard do raspberry e a exibe na interface gráfica em seguida.
pi@raspberry ~ $ nano teste.cpp
O conteúdo do arquivo teste.cpp é descrito a seguir
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(void)
{
Mat img = imread("imagem.jpg");
imshow("Original",img);
waitKey(0);
}
Depois disso, basta compilar o arquivo
pi@raspberry ~ $ c++ -c teste.cpp -o teste.o `pkg-config opencv --cflags` pi@raspberry ~ $ c++ teste.o -o teste.bin `pkg-config opencv --libs`
Pronto, concluído estas instruções, executa-se o programa compilado e a imagem é exibido na tela
pi@raspberry ~ $ ./teste.bin
A seguir é mostrado o resultado final dos testes realizados no windows com o x-ming
Vídeo
Foi criado um video executando este tutorial, disponível no youtube.com/rodccosta