Manual de instalación de Opencv usando SVN

El siguiente manual describe como compilar las librerias de opencv usando los repositorios mas recientes del mismo, usando visual studio ya sea 2008 o 2005, fue probado con estos dos y en windows XP SP3 y Visa SP1,
este manual es basado en http://opencv.willowgarage.com/wiki/InstallGuide.
1.Que es SVN?
http://es.wikipedia.org/wiki/Subversion

2.Como consigo la versión mas reciente de OpenCV?
La más reciente probada se encuentra en:
http://opencvlibrary.svn.sourceforge.net/viewvc/opencvlibrary/tags/latest_tested_snapshot/
la versión más reciente subida por los desarrolladores se puede encontrar en:
http://opencvlibrary.svn.sourceforge.net/viewvc/opencvlibrary/trunk/

Es recomendable que para descargarlo lo mas fácil posible dar click en el link que se muestra en las paginas anteriores como
Download GNU tarball
SCR(2009-04-27)_(18-17-41).png
dar click en Download GNU tarball

Al hacerlo se descarga un .tar.gz de la carpeta que se está viendo, para descargar los fuentes de OpenCV, hay que descargar la carpeta opencv
SCR(2009-04-27)_(18-27-16).png

Esta se encuentra en un formato de archivo no muy común para usuarios de windows, para descargar un programa que sea capaz de descomprimir este archivo es recomendable usar 7zip disponible gratuitamente en http://www.7-zip.org/.

3. Como lo instalo?
Hasta ahora se despone de los fuentes, sin embargo si se pretende usar OpenCV, hay que compilarlo primero y disponer de los .dll y .lib para esto se deben seguir los siguientes pasos:

De aquí en adelante se supondra que la versión de Windows está en español por lo que la ruta de instalación recomendada comensará así:
C:\Archivos de programa\...
lo primero que hay que hacer es descomprimir el contenido de la carpeta opencv en una carpeta aparte, es recomendable llamarla distinto por si queremos instalar una versión ejecutable. en este caso usaremos la carpeta:
C:\Archivos de programa\opencvsvn\
y ahí descomprimiremos TODO el contenido de la carpeta opencv
Ahora haremos que el paquete este listo para ser compilado por Visual studio (2005 o 2008) para esto usaremos el programa Cmake, este puede ser conseguido de manera gratuita en el siguiente link: http://www.cmake.org/. después de instalarlo, abriremos el programa y seguiremos los siguientes pasos:

SCR(2009-04-22)_(22-25-59).png
abrir CMake

Abrir el programa ycrear la carpeta donde iran los archivos de destino, en nuestro caso:
C:/Archivos de programa/opencvsvnmake

SCR(2009-04-22)_(22-26-50).png
abrir carpetas origen y destino

Después dar click en Configure y seleccionar el compilador de su preferencia, de aqui en adelante se usarán Visal Studio (2005 y 2008) para el caso de las imágenes se usó VS2005, sin embargo el lector no debera enconrar problemas en usar VS2008 con esta misma guia

SCR(2009-04-22)_(22-27-00).png
Seria una buena extención de este manual la adición de aqui en adelante de otros compiladores si el lector trabaja con alguno de estos lo invito a colaborar añadiendo la documentación del mismo.
Hecho esto dejar la opción "Use default native compilers" y dar click en finalizar, y sespués en configurar. después de un tiempo saldra la siguiente información en la ventana, es recomendable usar las opciones que aparecen en la figura, sin embargo, existen muchas mas, y se invita al lector, investigar las funciones de estas, en especial OPENMP

SCR(2009-04-22)_(22-28-15).png

Después de esto dar click en configure y de nuevo en configure, después en generate.
Con esto se crean los siguientes archivos en el directorio de destino:
SCR(2009-04-22)_(22-29-16).png

abrir el archivo OPENCV.sln, con microsoft visual studio, ya sea 2008 o 2005 según su caso
SCR(2009-04-22)_(22-29-36).png
esparar a que se actualize completamente InteliSense, y seleccionar en la parte superior primero Debug:
SCR(2009-04-22)_(22-31-19).png
y después dar click en Generar -> Generar Solución

SCR(2009-04-22)_(22-31-26).png
Esperar a que se presenten los reportes de compilación y después seleccionar en la parte superior Release y Generar la solución de nuevo
SCR(2009-04-22)_(22-35-36).png
Con esto se generaron ya los .dll y .lib necesarios para poder compilar sin problema cualquier fuente. solo basta configurar en el compilador los fuentes, los binarios y las librerias.

4. Como usar OpenCV Ya que lo compile?
Lo primero que hay que hacer es añadir los binarios al PATH del sistema, para esto ir a inicio->click derecho en MI PC ->propiedades:
SCR(2009-04-22)_(22-47-10).png

y ahí en la pestaña Opciones Avanzadas - > Variables de entorno y añadir tanto en las vatiables de entorno del usuario, como en las variables de entorno del sistema, en la lista de "PATH" ó "path" los siguientes directorios no olvidar separarlos por punto y coma:
C:/Archivos de programa/opencvsvnmake/bin/release
C:/Archivos de programa/opencvsvnmake/bin/debug

después de esto reiniciar el PC.

Ya en este momento OpenCV está instalado en el PC, y puede ser usado sin complicaciones.

5. Como compilo mis propios programas?
Este proceso es bastante sencillo, Nótese que Opencv ha cambiado desde las versiones anteriores, ahora todos los "Include" están en un solo directorio, y los binarios se encuentran en dos versiones, "debug y release" por lo que ahora se tendrán que añadir estos al compilador.

Esta sección se inspiró del documento en:
http://opencv.willowgarage.com/wiki/VisualC%2B%2B
sin embargo cuenta con algunas modificaciones ya que este está hecho para las versiones 1.0 y 1.1.

Primero abrir Visual Studio (2005 - 2008), y ahí en Herramientas -> Opciones
seleccionamos el proyectos y soluciones, la opción Directorios de VC++

SCR(2009-04-23)_(06-59-55)cortado.png
En Mostrar directorios para: seleccionamos la opción segun el caso, a continuación están las imagenes de lo que hay que añadir:
SCR(2009-04-23)_(07-00-57).png
En Archivos Ejecutables:
C:\Archivos de programa\opencvsvnmake\bin\release
C:\Archivos de programa\opencvsvnmake\bin\debug
después:
SCR(2009-04-23)_(07-01-38).png

C:\Archivos de programa\opencvsvn\include\opencv
Nota1: mire bien que ya no es el directorio opencvsvnmake es de donde sacó los fuentes no donde los compilo
Nota2: en Archivos de referencia no hay que poner nada.
En Archivos de biblioteca:
SCR(2009-04-23)_(07-19-03).png
C:\Archivos de programa\opencvsvnmake\lib\release
C:\Archivos de programa\opencvsvnmake\lib\debug

En Archivos de código fuente:


SCR(2009-04-23)_(07-04-09).png

C:\Archivos de programa\opencvsvn \src\ml
C:\Archivos de programa\opencvsvn\src\highgui
C:\Archivos de programa\opencvsvn\src\cxcore
C:\Archivos de programa\opencvsvn\src\cvaux
C:\Archivos de programa\opencvsvn\src\cv

Y en excluir directorios no listar nada.
damos click en aceptar, y con esto ya está listo el compilador para empesar a trabajar, solo basta configurar el proyecto.

6.Y como Creo mis Proyectos?
en Visual C++, un proyecto nuevo se crea así:
Archivo -> Nuevo -> Proyecto.
SCR(2009-04-23)_(07-04-57).png
acá seleccionamos Aplicación de Consola de Win 32 y damos nombre al proyecto, damos click en aceptar, siguiente y luego en finalizar,
después de esto, dependiendo del modo en el que se quiera compilar, hay que listar los .lib correspondientes, para el caso de debug, seleccionar en la parte suparior central debug, y luego en: Proyecto -> Propiedades de "nombre del proyecto"
seleccionamos en la lista Propiedades de configuración -> vinculador -> Entrada.

SCR(2009-04-23)_(07-14-34).png

En la casilla de dependencias adicionales listamos TODOS los archivos .lib separados por espacio que se encuentran en la carpeta
C:\Archivos de programa\opencvsvnmake\lib\debug
damos click en aceptar, y luego repetimos el proceso esta vez seleccionando en la parte superior Release así:
SCR(2009-04-23)_(07-16-55).png
Solo que este vez listamos Todos los .lib que se encuentren en el directorio
C:\Archivos de programa\opencvsvnmake\lib\release
separados por espacio.

Con esto ya está configurado Visual estudio es su totalidad para compilar, para probarlo, copia y pega un archivo de la carpeta

C:\Archivos de programa\opencvsvn\samples\c

a el fuente, y compilalo, no olvidar incluir stdafx.h al inicio de los llamados.

se puede crear u proyecto e incluir los archivos que se vallan usando o simplemente incluir un fuente nuevo a un mismo proyecto, para hacer esto, referenciarse de la documentación de Visual Studio.

7. Auxilio no me funciona!!!
Primero reviza que esten bien listados todos los directorios es muy conmun introducir alguno de ellos mal, por lo general cuando esto sucede, aparece un error de Linker, tampoco olvidar incluir stdafx.h al inicio de los llamados.

8.Definitivamente no me funciona
Existen Muchas personas trabajando en OpenCV en el mundo, seguro alguna de ellas esta con la disponibilidad de ayudarte :).


la Primera versión de este manual fue hecho por:
Ing Francisco Carlos Calderón B.

como ayuda al grupo de investigación SIRP
y a los estudiantes de la PUJ que están trabajando
con esta útil herramienta.
Si modifica este manual sientase libre de incluirse en la lista:
...

Este documento cuenta con licencia:
http://creativecommons.org/licenses/by-sa/3.0/
Sientase Libre de Usarlo y modificarlo para bien.

No imprima este documento, no vale la pena! ahorre papel.