Instalar OpenCV con Visual Studio 2017

Instalar OpenCV con Visual Studio 2017

OpenCV es una librería open source sobre visión muy utilizada en proyectos de investigación y en el ambiente laboral. Tiene interfaces en C++, C, Python, Java y Matlab y además es compatible con Windows, Linux y OS. En este tutorial vamos a ver como instalar y configurar OpenCV para poder usarlo con Microsoft Visual Studio 2017.

Si no se tiene instalado Visual Studio 2017, se puede descargar la versión gratuita en el siguiente enlace: Visual Studio Comunity 2017.

Instalación de OpenCV.

Para instalar OpenCV 3.4.0 primero debemos descargar la versión «Win pack» de la página OpenCV.

Una vez descargado procedemos a instalarlo en «C:\»

Posteriormente, debemos añadir las variables del entorno. Para ello:

  • Botón derecho sobre Equipo y seleccionamos propiedades.
  • Configuración avanzada del sistema y pinchamos sobre «variables de entorno». 
  • Seleccionamos la opción «Path» y hacemos clic en editar. 
  • Hacemos clic en nuevo y en examinar para buscar la ruta donde hemos instalado OpenCV: «C/opencv/build/x64/vc15/bin» y le damos a aceptar. 

De esta forma ya tenemos instalado y configurado OpenCV en nuestro equipo y solo nos quedaría configurar Visual Studio 2017. Aunque antes de esto debemos reiniciar el equipo.

Configuración Visual Studio 2017.

  • Abrimos visual studio y le damos a crear un nuevo proyecto.
  • Creamos nuevo proyecto: «proyecto en Visual C++» y elegimos «proyecto vacío». Indicamos un nombre y carpeta para el proyecto y pulsamos aceptar. Creación proyecto visual studio
  • Una vez creado el proyecto, añadimos un archivo «C++» haciendo clic derecho sobre la carpeta «archivos de recurso/ agregar/ nuevo elemento».
  • Y seleccionamos «Archivo C++ (.cpp)» y le ponemos Main.cpp. Crear archivo cpp
  • Después, en la pestaña «Proyecto» seleccionamos «Propiedades de Opencvdemo».
  • En la ventana que aparece, seleccionamos la pestaña «C/C++», «General» y en la opción «Directorios de inclusión adicionales», indicamos:
    C:\opencv\build\include

    Incluir librería

  • Ahora en la pestaña de «Vinculador (linker) / General» en «Directorios de bibliotecas adicionales (Additional Library Directories)» añadir:
    C:\opencv\build\x64\vc15\lib

    Linker

  • En la pestaña «Vinculador/ Entrada(input)» en la opción «Dependencias adicionales» darle a la pestaña que tiene y seleccionar editar.
  • Pegar lo siguiente en la ventana que aparece:
     opencv_world340d.lib

    Dependencias adicionales.

  • Ahora tenemos que cambiar el modo de depuración de nuestro proyecto a «x64»Cambio modo depuración.
  • En el archivo Main.cpp añadir el siguiente código:  

Recuerda cambiar la ruta de la imagen en la linea 11 a una ruta y nombre de una imagen de tu equipo.

Con esto, ya podemos ejecutar nuestro programa y comprobar que OpenCV funciona correctamente.

En la opción «depurar (debug)», iniciamos sin depuración y se nos mostrara la imagen que hemos añadido al código. Algunas veces es necesario reiniciar Visual Studio o reiniciar el equipo después de realizar la configuración por primera vez.

Esta entrada tiene 11 comentarios

  1. hecho lo que describes en el tutorial pero tengo el problema que al tratar de compilar me genera que no en cuentra opencv_world300d.dll

    1. Hola Edwin, ¿Que versión de OpenCV estas instalando?
      El tutorial es para la versión : OpenCV 3.4.0.

      Puede que en la pestaña “Vinculador/ Entrada(input)” en la opción “Dependencias adicionales” tenga que cambiar “opencv_world340d.lib” por “opencv_world300d.lib”

      1. Hay que buscar en la carpetas qué versión de opencv_world es. Me pasó lo mismo y al buscar la versión fue la opencv_world342d.lib. Saludos

  2. Buenas tardes,
    Una consulta respecto en que lenguaje de programación se puede usar la libreria de OpenCV?, pues aunque hay versiones para distintos sistemas operativos (https://opencv.org/releases.html), según el siguiente artículo: https://realpython.com/face-detection-in-python-using-a-webcam/ lo usa desde Python pero según este artículo lo estas usando en C++, con Visual Studio 2017, en Windows?.

    En definitiva estoy analizando si puedo usar esta librería desde Visual Studio 2017, en una Windows Universal app (o con Python) y hacer el deploy en Windows 10 IoT (en una raspberry).

    Saludos,

    1. Hola Miguel,
      Como comentas, puedes utilizar OpenCV con Python o con C++. Además existe EmugCV que es otra librería parecida a OpenCV y que permite C#.
      Puedes utilizar sin ningún problema OpenCV desde visual studio 2017 en una Windows Universal App utilizando C++.
      Muchas gracias y un saludo.

  3. Hola, muchas gracias por el tutorial, pero tengo un problema me aparece un error y no se como solucionarlo, agradeceria que me ayudara.
    Error 1 error C1189: #error : «OpenCV 4.x+ requires enabled C++11 support» C:\opencv\build\include\opencv2\core\cvdef.h

    1. Hola David, muchas gracias. Creo que tu error se puede deber a que no tienes en visual studio la versión 11 de C++. Yo probaría a descargarla desde visual studio. Otra opción es desinstalar la versión 4 de OpenCV e instalar una release anterior 3.4.4 por ejemplo. Espero que te sea de ayuda. Un saludo

  4. Hola, en serio gracias por el tutorial. Aunque mira yo hice todo segun tus pasos y por alguna razon no me reconoce la libreria. Ya que esta sigue detectando como errores todo lo relacionado a OpenCV. Me podrias ayudar por favor.

    1. Hola Guillermo, vamos a intentarlo. ¿Que error te aparece al compilar? ¿Te has asegurado que estas en modo Debug y a 64 bits (x64)?

  5. Realice todos los paso, no marco error pero al momento de ejecutar el codigo me marca el error:

    Gravedad Código Descripción Proyecto Archivo Línea Estado suprimido
    Error (activo) E0013 se esperaba un nombre de archivo OpenCvDemo C:\Users\gianfar\Documents\Visual Studio 2017\OpenCvDemo\OpenCvDemo\Main.cpp 1

    En el #include

    Saludos y gracias por todo

  6. 1>—— Se ha iniciado la ejecución del comando Recompilar; proyecto: ConsoleApplication2, configuración: Debug|Win32 ——
    try.cpp
    c:\users\carlo\source\repos\consoleapplication2\consoleapplication2\try.cpp(3): error C2006: ‘#include’: se esperaba un nombre de archivo, se ha encontrado ‘identificador’
    c:\users\carlo\source\repos\consoleapplication2\consoleapplication2\try.cpp(24): fatal error C1010: final de archivo inesperado al buscar la directiva de encabezado precompilado. Compruebe si olvidó agregar ‘#include «pch.h»‘ al código fuente?
    ========== Recompilar: 0 correcto, 1 erróneo, 0 actualizado, 0 omitido ==========

Deja un comentario

Cerrar menú