Instalar OpenCV en Trisquel GNU/Linux


Hace poco en la UNIversidad me vi en la necesidad de usar OpenCV (Open Source Computer Vision Library) para un proyecto, al principio me compliqué un poco con la instalación, luego de un par de tropiezos logré que funcione correctamente y por si tal vez alguien tenga la misma duda de como realizar una correcta instalación es que escribo esta instalación en 10 pasos.

1.- Primero tenemos que instalar los paquetes necesarios para poder hacer las funciones de procesar imágenes, trabajar con vídeo, etc. Para eso instalamos los siguientes paquetes mediante el apt:

– Instalamos los paquetes necesarios para descargar, compilar y configurar el OpenCV:

apt-get install build-essential subversion libgtk2.0-dev cmake pkg-config 

– Además, instalamos una seria de bibliotecas para trabajar con el OpenCV:

apt-get install libpng12-0 libpng12-dev libpng++-dev libpng3
apt-get install libpnglite-dev libpngwriter0-dev libpngwriter0c2
apt-get install zlib1g-dbg zlib1g zlib1g-dev
apt-get install libjasper-dev libjasper-runtime libjasper1
apt-get install pngtools libtiff4-dev libtiff4 libtiffxx0c2 libtiff-tools
apt-get install libjpeg8 libjpeg62-dev libjpeg8-dbg libjpeg-progs
apt-get install ffmpeg libavcodec-dev libavcodec52 libavformat52 libavformat-dev
apt-get install libgstreamer0.10-0-dbg libgstreamer0.10-0  libgstreamer0.10-dev
apt-get install libxine1-ffmpeg libxine-dev libxine1-bin
apt-get install libunicap2 libunicap2-dev
apt-get install libdc1394-22-dev libdc1394-22 libdc1394-utils
apt-get install swig
apt-get install libv4l-0 libv4l-dev
apt-get install python-numpy 

Además de las anteriormente mencionadas instale algunas otras para que no salga error con el “cmake” que haremos mas adelante.

apt-get install libgstreamer-plugins-base0.10-dev libjpeg62-dev libswscale-dev 

2.- Entramos en la carpeta que usaremos para trabajar, en mi caso usaré la carpeta “/home/urpi/svn/” que es equivalente a “~/svn/” .

cd ~/svn/ 

3.- Luego descargamos el OpenCV, para esto tenemos dos opciones:

– Descargar la última versión de OpenCV del repositorio central (trunk):

svn co https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/trunk 

– Descargar la última versión probada de OpenCV (tested):

svn co https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/tags/latest_tested_snapshot 

4.- Continuaremos el ejemplo con la primera opción (la otra es similar). Entramos a la carpeta principal del proyecto descargado.

cd ~/svn/trunk/opencv/ 

5.- Creamos la carpeta “release” para ahí compilar el proyecto, luego entramos en ella.

mkdir release
cd release/ 

6.- A continuación ejecutamos “cmake” y comprobamos que no nos muestre errores para continuar con la instalación, si falta algún paquete instalarlo antes de continuar.

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON .. 

7.- Luego de que comprobamos que no hay errores continuamos compilando e instalando el OpenCV:

make
sudo make install 

8.- Para que el sistema reconozca la ruta de la biblioteca ejecutamos lo siguiente:

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH 

9.- Ahora, para probar que todo salió correctamente entramos a la carpeta de los binarios ejecutables y probamos el “cxcoretest” (debería darnos todo OK):

cd bin/
./cxcoretest 

10.- Luego también podemos compilar y probar tres de los ejemplos predefinidos en C que vienen con el OpenCV:

cd ../../samples/c/
. build_all.sh

./delaunay
./facedetect lena.jpg
./bgfg_segm tree.avi 

Notas adicionales:

Anuncios

Trisquel GNU/Linux


Logo Trisquel GNU/Linux

Desde hace un par de meses comencé a usar Trisquel GNU/Linux y me va de maravilla :D, como comente en otro post anterior antes venia usando el gNewSense, el cual aún conservo en otra partición.

Me cambié a usar Trisquel GNU/Linux debido a que se encuentran mas actualizados los paquetes y tiene un mejor soporte para mi PC (he probado que corre con muchas portátiles), además de el hecho de ser otra de las distribuciones que trabaja para conservar la libertad de los usuarios, en otras palabras ser una distribución 100% libre :D.

Captura de Pantalla

Trisquel GNU/Linux

Descargas

El kernel Linux no es Software Libre


Primero dejar en claro que Linux es el solo nombre del kernel usado en el sistema GNU.

Este kernel Linux (en sus inicios llamado Freax, modificado posteriormente por Ari Lemmke colega de Linus Torvalds y con aceptación de este) era privativo cuando se lanzó en 1991 y en el 1992 cambia su licencia a la GNU GPL versión 2, pasando recién a ser Software Libre, pero luego en el año 1996 Linus Torvalds (creador del kernel) comienza a aceptar la inclusión de firmware que solo estuviese en formato binario, lo cual genera que con esto se acepte también firmware no-libre al kernel, esto en la actualidad ha ido creciendo y actualmente existe mas de 2MB de software no libre dentro del kernel Linux.

Logo de linux-libre

Actualemente Alexandre Oliva con la FSFLA (Fundación del Software Libre para Latinoamerica) mantine el proyecto Linux-libre (ver logo arriba) en el cual se han removido todas las partes no libres del kernel, con lo cual seguimos teniendo un kernel libre, pero ojo que el kernel linux a secas no es software libre, ya que no cumple con las cuatro libertades que son:

– La libertad de usar el programa, con cualquier propósito (libertad 0).
– La libertad de estudiar el funcionamiento del programa, y adaptarlo a las necesidades (libertad 1). El acceso al código fuente es una condición previa para esto.
– La libertad de distribuir copias, con lo que puede ayudar a otros (libertad 2).
– La libertad de mejorar el programa y hacer públicas las mejoras, de modo que toda la comunidad se beneficie (libertad 3). De igual forma que la libertad 1 el acceso al código fuente es un requisito previo.

El kernel linux-libre es el kernel que es usado en distribuciones como gNewSense, Trisquel, entre otras.

Más información en : http://www.fsfla.org/svnwiki/anuncio/2010-03-Linux-2.6.33-libre.es

Conferencia sobre Software Libre y GNU/Linux


El día de hoy dicte una charla, sobre Software Libre y GNU/Linux, puse algunos conceptos básicos debido a lo extenso del tema y a lo reducido del tiempo. Al final regale unos CD’s y unos stickers que me regalo Richard Stallman cuando estuvo en la UNI.

Aquí les dejo la diapositiva de la conferencia, espero les guste 😀

Licencia del archivo: CC BY 2.5

Versiones para descargar: pdf