miércoles, 21 de septiembre de 2011

Instalar OpenCV 2.3.1 en ubuntu 11.04


Después de pasarme un día entero peleándome con la instalación de OpenCV creo conveniente, dejar aquí las instrucciones de como realizar la tarea. 
IMPORTANTE: este artículo es una traducción al español, con solo un par de correcciones insignificantes. Podéis ver el original (en inglés) en el blog de Sebastian Montabone, al que he de agradecer su aportación y que me salvara el día, que ya tenía pinta de ser totalmente improductivo.

He de decir que la mayoría de los problemas detectados por la gente que intenta instalar OpenCV en ubuntu 11.04 son debidos a la librería ffmpeg. La solución aquí planteada será bajárnosla e instalarla nosotros mismos.
Lo primero que necesitas es instalar un montón de dependencias, tales como soporte de lectura y escritura en archivos de imágenes. dibujo en pantalla, algunas librerías necesarias, etc... Este paso es bastante sencillo. solo necesitas escribir el siguiente comando en un terminal
  1. sudo apt-get install build-essential libgtk2.0-dev libjpeg62-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev
Ahora necesitamos descargar y compilar el código de ffmpeg para que los archivos de vídeo funcionen correctamente en OpenCV.
Ejecutamos las siguientes instrucciones en el terminal.

  1. cd ~ 
  2. wget http://ffmpeg.org/releases/ffmpeg-0.7-rc1.tar.gz 
  3. tar -xvzf ffmpeg-0.7-rc1.tar.gz 
  4. cd ffmpeg-0.7-rc1 
  5. ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libxvid --enable-x11grab --enable-swscale --enable-shared 
  6. make
  7. sudo make install
En el siguiente paso conseguimos la versión más reciente de OpenCV.

  1.  cd ~
  2. wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.3.1/OpenCV-2.3.1a.tar.bz2
  3. tar -xvf OpenCV-2.3.1a.tar.bz2
  4. cd OpenCV-2.3.1/
Ahora tenemos que generar el fichero Makefile usando cmake. Es en este apartado donde podemos definir que partes de OpenCV queremos compilar. Como queremos usar Python y TBB con OpenCV, aquí es donde establecemos estos parámetros. Solo hay que ejecutar la siguiente linea de comándos en el terminal para crear el makefile apropiado. El punto al final de la linea del comando es un argumento para cmake y significa en el directorio actual, así que no lo borres.
  1. cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=OFF -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON .

Asegúrate de que el comando no ha producido ningún error, sobretodo si hay reportes con FFMPEG. Este apartado debería aparecer como YES y que Phyton informa con un YES. Comprueba también que en el apartado use TBB aparace un YES. Si todo está correcta el makefile se hizo correctamente, si no es así, revisa las dependencias quizás haya algo que te falte por instalar y de nuevo ejecuta el comando cmake. Deberías ver algo como esto.












Ahora, ya estás listo para compilar OpenCV 2.3.1
  1. make
  2. sudo make install
Ahora tienes que configurar OpenCv. Primero de todo abre el archivo de configuración.
  1. sudo gedit /etc/ld.so.conf.d/opencv.conf
Añade al final del fichero la linea "/usr/local/lib" Puede ser que el fichero esté vacío, no te preocupes, Salva los cambios.
Ahora abre este otro fichero.
  1. sudo gedit /etc/bash.bashrc
Añade las siguientes lineas al final del fichero.
  1. PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
  2. export PKG_CONFIG_PATH














Finalmente, reinicia el ordenador. Una vez reiniciado el paso final es configurar Phyton con OpenCv. Necesitarás copiar el archivo cv.so en el sitio correcto. Con ejecutar el siguiente comando debería de bastar.

  1. sudo cp /usr/local/lib/python2.7/site-packages/cv.so /usr/local/lib/python2.7/dist-packages/cv.so
Ahora ya tienes OpenCV 2.3.1 totalmente instalado y con soporte para Phyton y TBB.
FIN TRADUCCIÓN.

En la web de Sebastian Montabone el tutorial se extiene con ejecución de las demos. Te invito a visitar su blog.

No hay comentarios:

Publicar un comentario