Instalar OpenCV en Python

Instalación de OpenCV 3.2 sobre Python 3.6 en el sistema operativo Windows, para este tutorial utilizaremos las correspondientes versiones de 32 bits de estas aplicaciones, e instalaremos usando los binarios pre compilados, más adelante en otro tutorial aprenderemos a compilar el código fuente y generar los archivos necesarios para ejecutar desde Python.

Instalando Python

Lo primero que debemos hace es instalar Python 3.6 , nos vamos a la página https://www.python.org/downloads/ y descargamos la versión correspondientes, en mi caso una versión de 32 bits, ejecutamos el instalador y presionamos: Customize installation.

Nos aseguramos de seguir las siguientes imágenes:

instalar python 3.6 en windows

instalando python en windows

configurar python para opencv

Presionamos Install y esperemos a que termine el proceso, al terminar abrimos una ventana de comandos CMD y escribimos el comando: python, si todo esta correcto veremos algo como esto:

probar la instalación de python

Esto nos indica que la instalación ha sido exitosa, y podemos proseguir.

Instalación de Numpy

NumPy es un paquete utilizado por Python para la computación de datos científicos, es requerido por OpenCV para el manejo de las matrices de datos, esta biblioteca proporciona una manera eficiente de realizar las operaciones sobre matrices y arreglo de datos.

En la web http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy podrás descargar el .whl correspondiente, debes tener presente que la descarga debe ser compatible con la versión de Python y arquitectura del sistema operativo.

instalar numpy para opencv

Una vez tengamos el archivo abrimos un CMD en la carpeta en donde guardamos la descarga, para hacerlo puedes ir a la carpeta, presionar Shift + clic-derecho y seleccionar Abrir ventana de comandos aquí, en la ventana CMD escribiremos el siguiente comando:

pip install numpy-1.12.1+mkl-cp36-cp36m-win32.whl

instalar numpy para opencv

Si vemos este mensaje todo esta correcto.

Instalación de OpenCV 3.x

En la misma web, solo que en la sección OpenCV http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv podremos descargar el archivo correspondiente, esta vez ubicaremos el archivo: opencv_python-3.2.0-cp36-cp36m-win32.whl, que corresponde a la versión 3.2 de OpenCV para Python 3.6 en 32 bits.

Cuando tengamos el archivo ejecutamos el comando anterior, solo debemos cambiar el nombre del archivo.

pip install opencv_python-3.2.0-cp36-cp36m-win32.whl

instalando opencv en python

Probando la instalación, escribimos este código en IDLE.

probando la instalación de opencv en python

Si podemos ejecutarlo sin problemas entonces ya tenemos todo lo necesario para empezar a crear aplicaciones con visón por computador usando esta librería.

Primera aplicación OpenCV Python

Para probar nuestra instalación escribiremos un pequeño programa, el cual toma una imagen y la convierte a escala de grises, ambas imágenes se muestran.

import cv2

image = cv2.imread('image.png')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

cv2.imshow('OpenCV Python - Original', image)
cv2.imshow('OpenCV Python - Gray', gray)
cv2.waitKey(0)

Explicación breve del código:

  • cv2.imread('image.png') carga la imagen indicada.
  • cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) convierte a escala de grises.
  • cv2.imshow('OpenCV Python - Original', image) muestra la imagen indicada.
  • cv2.waitKey(0) espera hasta que se presione una tecla.

Ejecutamos y veremos el siguiente resultado:

tutorial opencv python instalación

Para este ejemplo la imagen debe encontrarse en el mismo lugar donde se ubica el script, o puedes cambiar la ruta para apuntar a la imagen deseada.

Es todo por ahora, si te interesan los tutoriales de programación OpenCV Python, coméntalo.

Comentarios

  1. Hola, me había quedado atascado en importar cv2 ya que me salia un error. Después de romperme la cabeza un buen rato y buscar en google me he dado cuenta que si no importaba primero numpy no podía importar cv2. Solo lo comento por si alguien se encuentra en el mismo problema y busca en los comentarios.

    Dejo un copy paste del IDLE:

    Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
    Type "copyright", "credits" or "license()" for more information.
    >>> import cv2
    Traceback (most recent call last):
    File "", line 1, in
    import cv2
    ImportError: DLL load failed: No se puede encontrar el módulo especificado.
    >>> import numpy
    >>> import cv2
    >>>

    ResponderEliminar
  2. image = cv2.imread('C:\\Users\\felix\\Pictures\\image.jpg') si necesitas cambiar el path en windows...

    ResponderEliminar
  3. en WIN10 utilicen el WIndows PowerShell (administrador) para instalar el numpy y OpenCV, la ventana de cmd del windows da problemas...

    ResponderEliminar
  4. Estoy empezando con esto. A mi se me queda colgado al mostrar la imagen...Aparece una ventana pero se queda dando vueltas el cursor sin mostrar la imagen. Ejecuto el programa con el poweshell de windows 10 desde la misma carpeta en la que se encuentra la imagen.png. ¿Alguna idea?

    ResponderEliminar
  5. Exelente. Al principio tuve problemas con la instalacion, no supe por donde iniciar, ya que me generaba error al momento de ejecutarlo en el CMD. Pero, luego me di cuenta que era por la arquitectura del computador, volvi a descargarlo (x64) ejecuté los pasos y si me funciono. Gracias

    Ahora si me ayudan. Necesito un proycto que me haga reconocimiento facial en vivo mediente camara.

    ResponderEliminar
  6. hola estoy iniciando , en el primer ejemplo me aparece este error:
    >>> gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    Traceback (most recent call last):
    File "", line 1, in
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    cv2.error: OpenCV(4.1.2) D:\Build\OpenCV\opencv-4.1.2\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

    >>> PD : no tengo nada en el
    disco D

    ResponderEliminar
    Respuestas
    1. cv2.imread('image.png') no está cargando la imágen correctamente, asegurate de que exista el archivo image.png y que esté en la carpeta correcta.

      Eliminar

Publicar un comentario

Temas relacionados

Entradas populares de este blog

tkinter Grid

Conectar SQL Server con Java

Histogramas OpenCV Python

Controles y Contenedores JavaFX 8 - I