Procedimiento:
En los siguientes pasos se muestra como configurar un proyecto de Visual C++ 2010 con OpenCV 2.4.9. En Visual 2012 los pasos son idénticos.
1.- Abrir el Visual C++ 2010/2012 y crear un nuevo proyecto de “Aplicación de Consola CLR (CLR Console Applicaction)” (Figura 1 para 2010, Figura 1.1 para 2012).
2.- Teclear Alt + F7 para abrir las propiedades de proyecto (figura 2).
3.- En “Propiedades de configuración (Configuration Properties)” -> “C/C++”, -> “General” seleccionar «Directorios de inclusión adicionales (Additional Include Directories)» y escribir C:\opencv\build\include como se muestra en la figura 3.
4.- En “Propiedades de configuración” -> “Vinculador (Linker)” ->“General”, seleccionar «Directorios de bibliotecas adicionales (Additional Library Directories)» y escribir para el Visual 2010 C:\opencv\build\x64\vc10\lib si se desea compilar y se configuro en x64 o C:\opencv\build\x86\vc10\lib si fue en x86. Para el Visual 2012 escribir C:\opencv\build\x64\vc11\lib si se configuro OpenCV en x64 o C:\opencv\build\x86\vc11\lib si fue en x86.
5.-En “Propiedades de configuración” -> “Vinculador (Linker)” ->“Entrada (Input)”, seleccionar «Dependencias adicionales (Additional Dependencies)». Seleccionar la flecha que apunta hacia abajo y después «<Editar…>» (figura 5).
6.- En la ventana que se abre escribir las siguientes bibliotecas:
opencv_core249d.lib opencv_imgproc249d.lib opencv_highgui249d.lib opencv_ml249d.lib opencv_video249d.lib opencv_features2d249d.lib opencv_calib3d249d.lib opencv_objdetect249d.lib opencv_contrib249d.lib opencv_legacy249d.lib opencv_flann249d.lib
7. -Dar clic en OK y cambiar la configuración de “Active(Debug)” a “Release” aceptando el mensaje que a continuación aparece (Figura 6).
8.- Como en el paso 5 en “Propiedades de configuración” -> “Vinculador (Linker)” ->“Entrada (Input)”, seleccionar «Dependencias adicionales (Additional Dependencies)». Seleccionar la flecha que apunta hacia abajo y después «<Editar…>» y agregar las siguientes bibliotecas:
opencv_core249.lib opencv_imgproc249.lib opencv_highgui249.lib opencv_ml249.lib opencv_video249.lib opencv_features2d249.lib opencv_calib3d249.lib opencv_objdetect249.lib opencv_contrib249.lib opencv_legacy249.lib opencv_flann249.lib
9.- Dar clic en OK y deespues Aceptar, si se va a compilar en x86 saltarse al paso 14.
10.- Para compilar en x64 abrir el «Administrador de configuración… (Configuration Manager…)» (figura 7).
11.- En «Plataformas de soluciones activas (Active solution platfform)» seleccionar <Nueva…> (figura 8).
12.- Cambiar la opción de «Itanium» por «x64» como se muestra en la figura 9.
13.- Dar clic en OK y después en Cerrar.
14.- Escribir el siguiente ejemplo para cargar y mostrar una imagen con OpenCV:
#include "stdafx.h" #include "opencv2/opencv.hpp" int main() { IplImage* img = cvLoadImage("C:/Tulum.jpg",1); cvShowImage("Tulum",img); cvWaitKey(); return 0; }
14.- En la figura 10 se ve el resultado de ejecutar este código. Solo deben sustituir el primer parámetro de la función cvLoadImage, que en el ejemplo es «C:/Tulum.jpg», por la ruta (con / slash y no con \ backslash) + el nombre + la extensión entre comillas de cualquier imagen en su computadora. Si la imagen la ventana aparece en gris significa que no le están dando la ruta o el nombre de la imagen correctamente.
Nota importante:
Este blog es una herramienta didáctica usada en clases de Ingeniería en Mecatrónica de la UASLP. Se aceptan comentarios y visitas externas, sin embargo, dada las extenuantes tareas de docencia e investigación de los administradores difícilmente se resolverán dudas a personas que no sean alumnos de Mecatrónica de la UASLP.
Hola!!! ¿Todo esto tengo que hacerlo cada vez que quiera hacer un nuevo programa?
Desafortunadamente sí. Yo lo que hago es solo configurar un proyecto con un nombre general, ejemplo «OpenCV246», y cuando quiero hacer un nuevo programa copio y pego la carpeta de este proyecto cambiándole el nombre a la capeta de tal forma que identifique lo que hace el programa, ejemplo «Negativo de una imagen».
a Hiram Lugo le gusta esto
Excelente tutorial, no hay más que decir