jueves, 14 de junio de 2012

Instalando OpenCV 2.4.0 - 2.4.3 en Ubuntu

Hasta ahora hemos instalado OpenCV desde los repositorios de Ubuntu o desde otros externos, pero ¿qué hacer si es necesario contar con la última versión?. Sinceramente, esto me provocó más de un dolor de cabeza, así que aquí les dejo la manera más fácil que encontré al momento; funciona tanto desde la versión 2.4.0 hasta la 2.4.3.

1) En primer lugar, se deben instalar los requerimientos:
sudo apt-get install build-essential checkinstall cmake pkg-config yasm

2) Librerías para poder utilizar varios tipos de imágenes:
sudo apt-get install libtiff4-dev libjpeg-dev libjasper-dev libpng-dev

3) Se necesitan los siguientes paquetes para poder capturar, codificar y decodificar mediante highgui.
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev

4) Para los wrappers de Python:
sudo apt-get install python-dev python-numpy

5) Para habilitar código paralelo:
sudo apt-get install libtbb-dev

6) Por default, highgui trabaja con GTK pero podemos hacerlo también con QT. Por ahora lo instalamos, y más adelante configuramos:
sudo apt-get install libqt4-dev libgtk2.0-dev

7) Descargar del sitio oficial la última versión de OpenCV y luego abrir una terminal, cambiar al directorio donde se encuentra el paquete, y ejecutar los siguientes comandos:
tar -xvf OpenCV-2.4.0.tar.bz2
cd OpenCV-2.4.0/
mkdir build
cd build

8) Configurar el paquete con CMake (existen múltiples configuraciones para elegir, ver aquí).
cmake -D WITH_QT=ON -D WITH_XINE=ON -D WITH_OPENGL=ON -D WITH_TBB=ON -D BUILD_EXAMPLES=ON ..
Se debe tener en cuenta que -D WITH_QT=ON se reemplaza GTK por QT. Si no se quiere ésto, debe establecerse en OFF. Además, puede quitarse los ejemplos:
cmake -D WITH_QT=OFF -D WITH_XINE=ON -D WITH_OPENGL=ON -D WITH_TBB=ON ..
Otra manera de cambiar la configuración es editando opencv/CMakeLists.txt

9) Compilamos con
make
Si ésto no arroja error, hacemos
sudo make install

10) Por último, para que los programas puedan enlazar las librerías OpenCV, editar el archivo con
sudo gedit /etc/ld.so.conf 
y agregarle ésta línea al final.
/usr/local/lib
guardar, y ejecutar
sudo ldconfig

11) Para ejecutar los test y saber si la instalación resultó exitosa, cambiar al directorio
cd OpenCV-2.4.0/build/bin 
y luego ejecutar lo siguiente:
 ./opencv_test_core

That's all!