En este post, vamos a proporcionar instrucciones paso a paso sobre cómo instalar OpenCV 3 (C++ y Python) en Windows.
Si quieres instalar OpenCV 4 desde el código fuente, consulta este tutorial: Instalar OpenCV desde el código fuente en Windows
Hemos usado Windows Power Shell para ejecutar los comandos. Alternativamente, puedes usar el símbolo del sistema también.
Paso 1: Instalar Visual Studio
Descarga e instala Visual Studio 2015 community edition desde https://www.visualstudio.com/vs/older-downloads/. Si te resulta difícil buscar Visual Studio 2015, utiliza este enlace. Si no tienes una cuenta de Visual Studio Dev Essentials, crea una cuenta e inicia sesión. Ejecuta el instalador, selecciona «Personalizado» en «tipo de instalación».
En la siguiente pantalla dentro de Lenguajes de programación, selecciona las herramientas Visual C++ y Python para Visual Studio. Haz clic en siguiente.
Ahora haz clic en siguiente. Tardará un tiempo en completarse la instalación.
Hemos terminado la instalación de Visual Studio 2015.
Nota: Como Visual Studio 2017 falla al compilar Dlib, cambiamos de nuevo a Visual Studio 2015.
Paso 2: Instalar CMake
Descarga e instala CMake v3.10.0 desde https://cmake.org/download/.
Durante la instalación selecciona «Add CMake al PATH del sistema»
Paso 3: Instalar Anaconda (una distribución de python)
Descargar e instalar la versión de 64 bits de Anaconda desde https://www.continuum.io/downloads.
Nota: Dlib incluye un binario preconstruido para Python 3 y no para Python 2. Construir los binarios de Python de Dlib desde el código fuente es una molestia, ya que hay que construir Boost.Python primero.
Así que se aconseja instalar Anaconda 3. En caso de que quieras construir los bindings de OpenCV para Python 2, puedes instalar Anaconda 2 también pero no podrás usar Dlib en Python 2.
Mientras instalas Anaconda asegúrate de marcar ambas opciones:
- Añadir Anaconda a mi variable de entorno PATH
- Registrar Anaconda como mi Python por defecto
.
Paso 4: Descargar y extraer opencv-3.3.1 y opencv_contrib-3.3.1
Ir a https://github.com/opencv/opencv/releases y descargar opencv-3.3.1 source code zip
Vaya a https://github.com/opencv/opencv_contrib/releases y descargue opencv_contrib-3.3.1 source code zip
Extrae ambos archivos zip. Aunque puedes guardar las carpetas opencv y opencv_contrib en cualquier lugar, te sugiero que guardes ambas en el mismo directorio. Yo he colocado estas dos carpetas en el directorio «Mis Documentos».
NOTA : A partir de ahora nos referiremos a la ruta de la carpeta opencv-3.3.1 como OPENCV_PATH. Por ejemplo, en mi caso OPENCV_PATH es C:/Users/Vaibhaw Chandel/Documents/opencv-3.3.1
Dependiendo de dónde hayas guardado la carpeta opencv-3.3.1, esta ruta sería diferente.
Paso 5: Generar el proyecto de Visual Studio con CMake
Ejecutar Cmake, en la casilla «Dónde está el código fuente» escribir el valor de OPENCV_PATH (que es la ruta a la carpeta opencv-3.3.1) y la ruta al directorio de construcción. Elegiremos como directorio de construcción OPENCV_PATH/build
Ahora haz clic en configurar.
Se te pedirá permiso para crear la carpeta de construcción. Haz clic en Sí.
Cuando se le pida que seleccione un compilador, seleccione Visual Studio 14 2015 Win64.
Pulsa finalizar y en la siguiente ventana mantén los parámetros por defecto marcados.
Pulsa finalizar. Ahora CMake buscará en los directorios del sistema y generará los makefiles.
Paso 5.1: Cambios adicionales en la configuración de CMake
Haremos pocos cambios en la configuración por defecto generada por CMake. Haz clic en las imágenes para ver una versión ampliada.
- Marca «INSTALL_C_EXAMPLES» e «INSTALL_PYTHON_EXAMPLES»
- En la bandera «OPENCV_EXTRA_MODULES_PATH», da la ruta del directorio de módulos dentro de opencv_contrib-3.3.1. En nuestro caso hemos guardado opencv_contrib-3.3.1 en la carpeta Documentos por lo que la ruta es «C:/Users/Vaibhaw Chandel/Documents/opencv_contrib-3.3.1/modules»
- En Windows 10, el módulo opencv_saliency falla al construir. Así que lo deshabilitaremos. Desmarca BUILD_opencv_saliency
- Busca «python» en el cuadro de búsqueda
- Desmarca INSTALL_PYTHON_EXAMPLES, BUILD_opencv_python3 y BUILD_opencv_python2
- Haga clic en configurar
- Haga clic en generar
Ahora haz clic en configurar para aplicar estos cambios.
Ahora haz clic en configurar de nuevo para incluir este cambio.
Paso 5.2 : Añade las rutas de Python tanto para Python2 como para Python3 (opcional)
Esta sección es sólo para la gente que quiere generar el binario de OpenCV tanto para Python2 como para Python 3. Si vas a usar sólo un Python ya sea el 2 o el 3, debes saltarte esta sección.
CMake no pudo encontrar las rutas para mis archivos de Python3.
Así que añadí manualmente las rutas para Python3.
Ahora haz clic en configurar de nuevo. Después de configurar, busque opencv_python en la barra de búsqueda, tanto BUILD_opencv_python2 como BUILD_opencv_python3 se marcarán automáticamente. Ahora estamos seguros de que los binarios de OpenCV tanto para Python2 como para Python 3 se generarán tras la compilación.
Paso 5.3 : Generar archivos de compilación
Si CMake es capaz de configurar sin ningún error debería decir «Configuring done».
Haga clic en generar.
Nota: Siempre que haga algún cambio (marcar/desmarcar casillas o cambiar la ruta) en la configuración generada por CMake, haga clic en configurar y generar.
Paso 6: Compilar OpenCV
Paso 6.1:Compilar opencv en modo Release
Abrir el símbolo del sistema de Windows (cmd).
Ir al directorio OPENCV_PATH/build y ejecutar este comando
cmake.exe --build . --config Release --target INSTALL
Paso 6.2 : Compilar opencv en modo Debug
Abrir de nuevo la GUI de CMake como se mencionó en el Paso 5.
Ahora en el símbolo del sistema de Windows
Vaya al directorio OPENCV_PATH/build y ejecuta este comando
cmake.exe --build . --config Debug --target INSTALL
Ahora que hemos compilado OpenCV vamos a ver cómo probar un proyecto OpenCV usando CMake.
Paso 7: Actualizar las variables de entorno del sistema
Paso 7.1 : Actualizar la variable de entorno – PATH
En primer lugar añadiremos la ruta de los archivos dll de OpenCV a nuestro PATH del sistema. Pulsar la tecla Super de Windows, busca «variables de entorno»
Haz clic en Variables de entorno Variables en la ventana Propiedades del sistema
Debajo de Variables del sistema, Seleccione la ruta y haga clic en editar
Haga clic en Nuevo, y déle la ruta a OPENCV_PATH\build\install\\a y haga clic en Ok. Dependiendo de dónde haya guardado la carpeta opencv-3.3.1 y de la versión de Visual Studio que haya utilizado para compilar OpenCV, esta ruta será diferente. En mi caso la ruta completa es:
C:\NUsers\NVaibhaw Chandel\NDocumentos\Nopencv-3.3.1\build\install\x64\vc14\bin
Ahora haga clic en Ok para guardar. No cierre aún la ventana de Variables de Entorno. Actualizaremos la variable OPENCV_DIR en el siguiente paso.
Paso 7.2 : Actualizar la variable de entorno de usuario – OPENCV_DIR
Haga clic en Nuevo en «Variables de usuario» (mitad superior de la ventana de la derecha). Bajo el nombre de la variable escriba OPENCV_DIR y bajo el valor de la variable escriba OPENCV_PATH\build\install.
Como puede ver en mi caso el valor de la variable es:
C:\NUsers\NVaibhaw Chandel\NDocuments\Nopencv-3.3.1\Nbuild\install
Este directorio contiene el archivo «OpenCVConfig.cmake». Este es utilizado por CMake para configurar las variables OpenCV_LIBS y OpenCV_INCLUDE_DIRS para generar los archivos del proyecto.
Ahora haga clic en ok para guardar y cerrar la ventana de variables de entorno.
Nota: Si tienes una ventana de Símbolo del sistema/Power Shell abierta antes de actualizar estos valores, tienes que cerrar y abrir una nueva ventana de Símbolo del sistema/Power Shell de nuevo.
Paso 8: Probar el código C++
Descarga este código de redEyeRemover y extráelo en una carpeta.
Ahora abre Windows Power Shell y navega hasta este directorio.
Crea un archivo llamado CMakeLists.txt y pon este código en este archivo.
cmake_minimum_required(VERSION 2.8)project( redEyeRemover )find_package( OpenCV REQUIRED )include_directories( ${OpenCV_INCLUDE_DIRS} )add_executable( removeRedEyes removeRedEyes.cpp )target_link_libraries( removeRedEyes ${OpenCV_LIBS} )
Este archivo tiene información sobre las rutas de inclusión y de biblioteca de opencv.
Ahora compilaremos removeRedEyes.cpp y lo ejecutaremos.
# create build directorymkdir buildcd build# create Visual Studio project files using cmakecmake -G "Visual Studio 14 2015 Win64" ..
Puedes ver en la captura de pantalla de abajo que CMake encontró el OpenCV en mi máquina.
Ahora vamos a construir nuestra aplicación.
# build our applicationcmake --build . --config Release# once the build is complete, it will generate exe file in build\Release directory
Como nuestro código C++ asume que los archivos jpg están en el directorio actual, nos moveremos al directorio RedEyeRemover y ejecutaremos el archivo removeRedEyes.exe desde allí.
cd ...\build\Release\removeRedEyes.exe
Después de ejecutar la aplicación verás dos ventanas de imágenes, una con ojos rojos y otra con ojos negros.
Paso 9: Probando el código Python
Paso 9.1 : Comprobación rápida
Una forma rápida de comprobar si OpenCV para Python está instalado correctamente o no es importar cv2 en el intérprete de python.
Abra el símbolo del sistema en Windows, ejecute el comando python. Esto abrirá el intérprete de Python. Ejecuta estos dos comandos
import cv2print(cv2.__version__)
Anaconda viene con un intérprete de Python con muchas características llamado IPython. He probado estos comandos en IPython.
Si OpenCV for Python está instalado correctamente, la ejecución del comando «import cv2» no dará errores. Si sale algún error significa que la instalación ha fallado.
Paso 9.2 : Probando la aplicación redEyeRemover
Abra Windows Power Shell y navegue hasta el directorio donde ha extraído RedEyeRemover.zip
Ahora ejecuta el código python así:
python .\removeRedEyes.py
Si el programa se ejecuta correctamente, verás dos ventanas de imagen una con ojos rojos otra con ojos negros.