Para generar un proyecto de Visual Studio 2005 usando Visual C++ se requieren algunos ajustes tanto a Visual Studio como a Windows e incluso al mismo Proyecto.
Sorry por que algunas cosas estan en inglés, es que mi VS05 esta en inglés.
El procedimiento para que compile
1. Crear un proyecto (o abrir uno que tengas)
2. En el “Solution Explorer” clic derecho en el proyecto (NO en la “Solución”)
3. Clic en “Properties”
4. Bajo “Configuration Properties”->”C/C++”->”General” Buscar
“Additional Include Directories”, Click ahi.
5. Luego en el botón de la derecha con “…”.
6. Vas a agregar nuevos directorios.
7. Dependiendo de lo que estes haciendo vas a ocupar alguno de estos o mas fácil ponlos todos al cabo no afecta:
“C:\Archivos de Programa\OpenCV\cv\include”
“C:\Archivos de Programa\OpenCV\cvaux\include”
“C:\Archivos de Programa\OpenCV\otherlibs\highgui”
“C:\Archivos de Programa\OpenCV\cvcore\include”
8. Click en “Ok/Aceptar” y ve a “Configuration Properties”->”Linker”->”General”
9. Click en “Additional Library Directories” y de nuevo en el botón con “…”.
10. Additional library directories:
“C:\Program Files\OpenCV\lib”
“C:\Program Files\OpenCV\bin”
11. Click “ok/aceptar” y vas ahora a “Configuration Properties”->”Linker”->”Input”.
12. Click en “Additional Dependencies” y en el botón “…”.
13. Agrega las librerías del proyecto. Las más comunes y básicas son:
cv.lib
cvcam.lib
highgui.lib
cxcore.lib
cvaux.lib
Nota: Si te fijas, todas las dependencias anteriores llevan comillas, pero estas últimas no llevan..
15. Recuerda poner #include “cv.h” y demas cosas en tu código cpp/c.
Ejecutar con OpenCV ya que has compilado
1. Click en el Menú Inicio, Clic derecho en Mi PC.
2. Click en “Propiedades”
3. Click en “Avanzado”
4. Click en “Variables de Entorno”. Modificar o agregar la variable de “PATH” y al principio de todo poner “C:\Program Files\OpenCV\bin;” (Ojo que lleva un punto y coma)
7. Click “Aceptar” y ya.
8. Necesitas cerrar Visual Studio y abrirlo de nuevo para que agarre la variable PATH.
9. Una forma de cerciorarte de que el PATH esta puesto es abrir una ventana de cmd.exe y escribir PATH y Enter, deberías ver entre las lineas la que acabas de meter.
Ahora puedes compilar y ejecutar proyectos que usan OpenCV en Visual Studio 2005.
Si no lo hiciste bien el Visual Studio se va a quejar que no encuentra archivos “.lib” al compilar y si logras compilar pero no agregas el PATH te va a decir que no encuentra las DLL.
Que lata!, pero asi es Windows. Si estas instrucciones no te funcionan, deberás reiniciar Windows 50 veces, instalar Norton, NOD, MCAffee, Kaspersky, Panda y ClamAV, todos juntos. Reinicias Windows otras 50 veces. Luego instalas AdAware y Spybot Seach&Destroy. Reincias 50 veces más. Instalas Firefox. Reinicias otras 50 veces. Instalas alguna otra herramienta nueva que exista y, ya sabes, reinicias otras 50 veces. Si al final de esto no aún funciona, deberás repetir el procedimiento pero antes formateas tu PC, reinstalas windows y, claro, reincias otras 50 veces. Si despues de esto no funciona entonces… no se, preguntale a alguien que sí sepa.
Ahh, por cierto, gracias a Alex por ponerme el procedimiento bien detallado.

hoye brody, mi nombre es javier, disculpa como haces para detectar un objeto, si tienes code o ejemplos en el opencv no me corre, si tu sabes como agregar un objeto determinado de una foto y luego buscar en video te lo agradeceria o link’s he visto varios pero no estan bien explicados o son tan solo imagenes.. gracias cual quier cosa si me puedes ayudar es bueno .. gracias.. mi email es jd_bluebox@hotmail.com
Querido javier, se nota que eres un completo Newbie, tanto en opencv como en internet.
Para empezar es algo asi como una falta de Nettiquete (educación) andar pidiendo que te respondan al mail, jamas nadie te responderá. Tú eres el interesado, así que no hagas perder el tiempo a la gente resolviendote *tus* problemas y aparte pidiendo que te lo envien a tu correo.
Sin embargo es completamente correcto pedir ayuda y esperar que la ayuda llegue al mismo lugar donde la pediste, ya sea un Forum, o como ahora en un comentario de blog.
Lo que te puedo decir para que te ayudes es que *Google es tu amigo*. Hay decenas, cientos o posiblemente miles de ejemplos en internet donde se explica lo que quieres hacer. Hay incluso aplicaciones enteras y funcionales donde se regala el codigo fuente. Hay infinidad de manuales, referencias y ejemplos en muchisimos idiomas, desde ingles, español hasta chino y koreano. Hay mucho material con explicaciones detalladas. Busca, google es tu amigo.
Por otro lado, lo que pides es tan general que no te puedo responder de manera concisa, sino mas bien te dejo otras preguntas y cuando me las respondas te diré alguna ayuda. ¿que quieres hacer? ¿como lo quieres hacer? ¿quieres usar histogramas? ¿en que espacio de color? ¿que vas a rastrear, objetos, colores, formas? ¿en tiempo real? ¿sobre video o en imagenes estaticas? ¿quieres usar camshift? ¿quieres usar tu propio algoritmo?
¿dices que quieres agregar objetos genericos de una foto y luego buscarlos en video? Si es así, mucha suerte. Y cuando lo logres me avisas para hacer doctorado contigo porque vas a ser el rey al resolver un problema abierto y dificilisimo, me encantaria ser tu alumno de doctorado.
Hola.
En primer lugar gracias por esta información que es de gran utilidad. Y en segundo lugar os expongo mi problema. Estoy desarrollando un programa con las librerías de opencv y ya he comprobado que compila y funciona. Sin embargo al cambiarlo de computadora es cuando me vienen los problemas. He conseguido que compile de nuevo, pero sin embargo no encuentra cv100.dll. No hay ninguna diferencia entre ambos pcs, todo ha sido instalado igual paso a paso y con las mismas versiones.
Podrías echarme una mano? Ya no se ni de donde me sopla el aire
Muchas gracias
Hola, Jaime.
En primer lugar, asegurate de que ese archivo que te pide exista. Enseguida checa la parte de este mismo post donde dice:
“Ejecutar con OpenCV ya que has compilado”
Si el archivo existe, lo mas probable es que no lo tengas en el PATH. Simplemente agrega la ruta al PATH y listo.
Otra solucion facil de aplicar es simplemente copiar el archivo DLL que te falta al mismo lugar donde esta tu programa ejecutable que no corre bien, es conocido que los EXE’s buscan sus DLL’s primero en el mismo directorio, luego en SYSTEM y finalmente en el directorio o directorios indicados en el PATH.
Suerte.
Gracias por las molestias. Finalmente ha resultado ser una estupidez. Resulta dificil distinguir : de ; en una ventana de comando con una pantalla un poco vieja…
Muchas gracias.
hola me gustaria saber donde puedo encontrar codigo fuente , de opencv, para mirarlos y aprender.. gracias
Huy no recordaba esta petición, bueno tienes razón, he resuelto investigando en la red y logre con un poco de tropiezos no era tan difícil como imaginaba, todo estaba en el manual y entender las funciones de la librería, no creo que sea necesario el doctorado… saludos!!..