instalar-opencv-en-linux-mint-o-ubuntu

Instalar OpenCV en Linux Mint o Ubuntu

OpenCV es, sin duda, la biblioteca por excelencia en visión artificial del momento. Esta librería contiene más de 2500 algoritmos que incluyen una gran cantidad de funciones sobre tratamiento de imagen, visión artificial, y machine learning.

Por ejemplo, disponemos de algoritmos para identificar objetos, caras, hacer tracking de objetos, extraer modelos 3D. Estos funciones pueden ser usados en en aplicaciones para detección de intrusos, navegacion de robots, reconstrucción 3D, control de calidad, lectura de etiquetas, y un sin fin de aplicaciones.

OpenCV es libre, en el sentido de que se distribuye bajo licencia BSD, es decir, que podemos usarla libremente en nuestros proyectos ya sean comerciales o de investigación, siempre que cumplamos las condiciones de la licencia.

OpenCV está escrito en C++, tiene interfaces en C++, C, Python, Java y MATLAB y funciona en Windows, Linux, Android y Mac OS.

En esta entrada aprenderemos a instalar OpenCV en Linux Mint o Ubuntu y configurarlo correctamente. El proceso de instalación no es en si complicado, pero es cierto que de no tener un listado ordenado de los comandos a ejecutar puede ser bastante difícil recordar todos los pasos.

Descargar OpenCV

En primer lugar nos aseguramos de que nuestro sistema está actualizado. Para ello ejecutamos los siguientes comandos en una ventana de terminal.

sudo apt-get update
sudo apt-get upgrade 

A continuación instalamos las dependencias necesarias para ejecutar OpenCV. Para ello ejecutamos los dos comandos siguientes.

sudo apt-get -y install build-essential cmake cmake-qt-gui pkg-config libpng12-0 libpng12-dev libpng++-dev libpng3 libpnglite-dev zlib1g-dbg zlib1g zlib1g-dev pngtools libtiff4-dev libtiff4 libtiffxx0c2 libtiff-tools
sudo apt-get -y install libjpeg8 libjpeg8-dev libjpeg8-dbg libjpeg-progs ffmpeg libavcodec-dev libavcodec53 libavformat53 libavformat-dev libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libxine1-ffmpeg libxine-dev libxine1-bin libunicap2 libunicap2-dev libdc1394-22-dev libdc1394-22 libdc1394-utils swig libv4l-0 libv4l-dev python-numpy libpython2.6 python-dev python2.6-dev libgtk2.0-dev pkg-config

Ahora procedemos a descargar y descompilar la librería. Para ello podemos usar el navegador de Internet, o directamente usar los siguientes comandos.

wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download -O opencv.zip
unzip opencv.zip
rm opencv.zip
cd OpenCV-2.4.9

En el momento de redactar esta entrada la última versión es la 2.4.9. Si queréis instalar una versión distinta simplemente modificar en todos los comandos 2.4.9 por la versión correspondiente.

Compilar OpenVC

Creamos una carpeta para almacenar temporalmente los ficheros compilados

mkdir build
cd build

A continuación usamos cmake para crear el makelist. Debemos especificar los módulos que deseamos instalar, que dependerán de vuestras necesidades particulares. Sin no sabéis exactamente que módulos necesitáis, podéis conseguir una configuración bastante estándar y versátil con el siguiente comando.

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..

Aparecerá una pantalla con los resultados de cmake. Debemos revisar que no aparece ningún error, y que todas las opciones que hemos seleccionado aparecen marcadas como ‘YES’. En particular revisar que aparece correctamente FFMPEG, PYTHON, OPENGL y QT, porque en ocasiones no las encuentra.

Si aparece algún error o no encontrara algún componente tendréis que volver atrás y comprobar que tenéis instaladas todas las dependencias.

Por el contrario si todo esta correcto podemos proceder a compilar la librería. Ejecutar los siguientes comandos (y podéis ir a tomar un café porque tardará un rato)

make
sudo make install

Si no ha dado ningún mensaje de error has instalado correctamente OpenCV.

Configurar OpenCV

Antes de poder usar OpenCV debemos hacer unas cuantas configuraciones para que funcione correctamente. En primer lugar, abrimos opencv.conf escribiendo

sudo nano /etc/ld.so.conf.d/opencv.conf

Añadimos la siguiente linea al final del archivo (si el archivo está vacío no pasa nada, simplemente copiamos la línea)

/usr/local/lib

A continuación editamos el archivo bashrc.

sudo nano /etc/bash.bashrc

Añadimos las siguientes líneas al final del archivo.

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH

Por último reiniciamos el ordenador y ya tenemos OpenCV listo para funcionar.

Probando OpenCV

Ahora comprobamos que que todo está correctamente y funcionando. Para ello vamos a ejecutar alguna de las demos disponibles en Python (podéis probar un ejemplo en C si lo preferís). Para ello ejecutamos

cd ~/opencv/OpenCV-2.4.9/build/bin
python ./drawing.py

Si todo ha funcionado correctamente enhorabuena, has instalado y configurado correctamente OpenCV. Ahora puedes experimentar con el resto de ejemplos de la librería y emplear sus algoritmos libremente en tus proyectos.