jueves, 10 de mayo de 2012

Cómo instalar openCV 2.1 - 2.3 en Ubuntu 12


Esta es una manera de instalar OpenCV desde un repositorio. Si lo que buscas es instalar una versión más actual o compilarla por si mismo, ver este otro post.

En primer lugar, instalar los siguientes pre-requisitos:
  • GCC 4.3 o superior
  • CMake 2.6 o superior
  • Subversion client
  • GTK+ 2.x o superior, incluyendo headers
  • pkgconfig
  • libpng, zlib, libjpeg, libtiff, libjasper con archivos de desarrollo
  • Python 2.3 o superior
  • SWIG 1.3.30 o superior
  • libavcodec etc. de ffmpeg 0.4.9-pre1 o superior, incluyendo headers.
  • libdc1394 2.x, más headers para captura de video para cámaras IEEE1394
Esto puede hacerse mediante el Ubuntu Software Center o mediante el siguiente comando:
sudo apt-get install build-essential cmake subversion libgtk2.0-dev libgtk2.0-dev libjpeg-dev python-dev swig libavformat-dev libavcodec-dev libavfilter-dev libswscale-dev libdc1394-22 libdc1394-22-dev

Se debe tener en cuenta que, si el comando no funciona, es porque en su repositorio no figura alguna de las versiones de las librerías especificadas. Para corregirlo, se debe buscar la versión actual y modificarla en la línea.

El paquete específico pkgconfig debe ser descargado de http://pkgconfig.freedesktop.org/releases/ y simplemente descomprimir, dirigirse por consola a la carpeta descomprimida (con cd /home/... y hacer ./configure, make y sudo make install).

Luego, ejecutar en terminal los siguientes comandos, que permitirán instalar openCV en “/usr/include/opencv/”:

sudo add-apt-repository ppa:gijzelaar/cuda
sudo add-apt-repository ppa:gijzelaar/opencv2.3
sudo apt-get update
sudo apt-get install libopencv-dev

Para desarrollar nuestra primera aplicación, ingresar a Eclipse y crear un Hello World C++ Project llamado PruebaOpenCV. En caso de no tener instalado Eclipse en tu Ubuntu, leer la entrada anterior de este blog.

Para poder utilizar openCV se, deben incluir en el proyecto las librerías correspondientes. Para hacerlo, click derecho sobre el proyecto>Properties>C/C++ build>Settings>Directories (en algunas versiones se llama Includes)>GCC C++ Compiler y agregar la entrada a donde se instalaron los archivos de OpenCV. Si no lo recuerdas, ejecuta este comando en terminal:
  • pkg-config --cflags opencv
Este comando te devolverá los directorios donde encuentra esta librería de OpenCV. Podría ser, por ejemplo:
  • /usr/include/opencv 
  • /usr/local/include/opencv

Ahora ir un poco más abajo y seleccionar el menú GCC C++ Linker>Libraries y agregar las siguientes librerías: opencv_core y opencv_highgui. Otras librerías que pueden llegar a ser útiles (pero que no agregaremos ahora) son las siguientes:
  • opencv_imgproc
  • opencv_ml
  • opencv_video
  • opencv_features2d
  • opencv_calib3d
  • opencv_objdetect
  • opencv_contrib
  • opencv_legacy
  • opencv_flann
Por último, agregar en Library search path (ubicado en la parte inferior de la ventana), el lugar donde se deben buscar las librerías. Si no la recuerdas, puedes abrir una terminal y ejecutar lo siguiente:
  • locate libopencv_highgui.so
En mi caso, me devuelve /usr/lib.



En el archivo PruebaOpenCV.cpp borrar todo e insertar el siguiente código:
#include "cstdlib"
#include "cmath"
#include "opencv/cv.h"
#include "opencv/highgui.h"

int main(int argc, char *argv[])
{
cvNamedWindow( "Primera Prueba en openCV", CV_WINDOW_AUTOSIZE );

IplImage* img = 0;
img=cvLoadImage("image.png");
cvShowImage("Primera Prueba en openCV", img );
cvWaitKey(0); //Espera un key event indefinidamente
cvReleaseImage(&img); //Libera

return 0;
}
Ahora buscar una imágen png y copiarla en la carpeta PruebaOpenCV dentro de tu workspace. A modo de ejemplo, yo la puse en /home/gaby/workspace/PruebaOpenCV.

Finalmente presionar
CTRL+S para guardar los cambios.
CTRL+B para hacer build.
CTRL+F11 para correr el código.


¡Primera aplicación creada! Ya sabemos que todo funciona.

Código fuente: http://www.mediafire.com/?aznbvz6hancoi2x