Articles

OpenCV: Instalar OpenCV-Python en Ubuntu

Objetivos

En este tutorial aprenderemos a configurar OpenCV-Python en el sistema Ubuntu. Los siguientes pasos están probados para Ubuntu 16.04 y 18.04 (ambos de 64 bits).

OpenCV-Python se puede instalar en Ubuntu de dos maneras:

  • Instalar desde los binarios preconstruidos disponibles en los repositorios de Ubuntu
  • Compilar desde el código fuente. En esta sección veremos ambas.
    • Otra cosa importante son las librerías adicionales necesarias. OpenCV-Python sólo requiere Numpy (además de otras dependencias, que veremos más adelante). Pero en este tutorial, también utilizamos Matplotlib para algunos propósitos de trazado fácil y agradable (que me parece mucho mejor en comparación con OpenCV). Matplotlib es opcional, pero muy recomendable. Del mismo modo, también veremos IPython, un terminal interactivo de Python, que también es muy recomendable.

      Instalación de OpenCV-Python desde los binarios pre-construidos

      Este método sirve mejor cuando se utiliza sólo para la programación y el desarrollo de aplicaciones OpenCV.

      Instalar el paquete python3-opencv con el siguiente comando en la terminal (como usuario root).

      $ sudo apt-get install python3-opencv

      Abre Python IDLE (o IPython) y escribe los siguientes códigos en el terminal de Python.

      importar cv2 como cv
      print(cv.__version__)

      Si los resultados se imprimen sin ningún error, ¡¡¡felicidades!!! Has instalado OpenCV-Python con éxito.

      Es bastante fácil. Pero hay un problema con esto. Los repositorios de Apt pueden no contener la última versión de OpenCV siempre. Por ejemplo, en el momento de escribir este tutorial, el repositorio apt contiene la versión 2.4.8 mientras que la última versión de OpenCV es la 3.x. Con respecto a la API de Python, la última versión siempre contendrá un soporte mucho mejor y las últimas correcciones de errores.

      Así que para obtener los últimos códigos fuente se prefiere el siguiente método, es decir, compilar desde la fuente. También en algún momento, si quieres contribuir a OpenCV, necesitarás esto.

      Construir OpenCV desde el código fuente

      Compilar desde el código fuente puede parecer un poco complicado al principio, pero una vez que lo has conseguido, no hay nada complicado.

      Primero vamos a instalar algunas dependencias. Algunas son necesarias, otras son opcionales. Puedes omitir las dependencias opcionales si no quieres.

      Dependencias de compilación requeridas

      Necesitamos CMake para configurar la instalación, GCC para la compilación, Python-devel y Numpy para construir los bindings de Python, etc.

      sudo apt-get install cmake
      sudo apt-get install gcc g++

      para soportar python2:

      sudo apt-get install python-dev python-numpy

      para soportar python3:

      sudo apt-get install python3-dev python3-numpy

      Luego necesitamos soporte de GTK para las características de la GUI, soporte de cámaras (v4l), soporte de medios (ffmpeg, gstreamer) etc.

      sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
      sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev

      para soportar gtk2:

      sudo apt-get install libgtk2.0-dev

      para soportar gtk3:

      sudo apt-get install libgtk-3-dev

      Dependencias opcionales

      Las dependencias anteriores son suficientes para instalar OpenCV en tu máquina Ubuntu. Pero dependiendo de sus requisitos, puede necesitar algunas dependencias adicionales. Una lista de tales dependencias opcionales se dan a continuación. Puedes dejarlas o instalarlas, tú decides 🙂

      OpenCV viene con archivos de soporte para formatos de imagen como PNG, JPEG, JPEG2000, TIFF, WebP, etc. Pero puede ser un poco viejo. Si quieres conseguir las últimas librerías, puedes instalar los archivos de desarrollo para las librerías del sistema de estos formatos.

      sudo apt-get install libpng-dev
      sudo apt-get install libjpeg-dev
      sudo apt-get install libopenexr-dev
      sudo apt-get install libtiff-dev
      sudo apt-get install libwebp-dev

      Nota Si estás usando Ubuntu 16.04 también puedes instalar libjasper-dev para añadir un soporte a nivel de sistema para el formato JPEG2000.

      Descargar OpenCV

      Para descargar la última fuente del repositorio GitHub de OpenCV. (Si quieres contribuir a OpenCV elige esto. Para eso, necesitas instalar Git primero)

      $ sudo apt-get install git
      $ git clone https://github.com/opencv/opencv.git

      Creará una carpeta «opencv» en el directorio actual. La clonación puede tardar algún tiempo dependiendo de su conexión a Internet.

      Ahora abra una ventana de terminal y navegue a la carpeta «opencv» descargada. Crea una nueva carpeta «build» y navega hasta ella.

      $ mkdir build
      $ cd build

      Configuración e instalación

      Ahora tenemos todas las dependencias necesarias, vamos a instalar OpenCV. La instalación tiene que ser configurada con CMake. Se especifica qué módulos se van a instalar, la ruta de instalación, qué librerías adicionales se van a utilizar, si la documentación y los ejemplos se van a compilar, etc. La mayor parte de este trabajo se realiza de forma automática con los parámetros por defecto bien configurados.

      El siguiente comando se utiliza normalmente para la configuración de la construcción de la biblioteca OpenCV (ejecutado desde la carpeta de construcción):

      $ cmake ../

      Los valores por defecto de OpenCV asumen el tipo de construcción «Release» y la ruta de instalación es «/usr/local». Para información adicional sobre las opciones de CMake consulte la guía de compilación de OpenCV C++:

      Debería ver estas líneas en su salida de CMake (significan que Python se ha encontrado correctamente):

      — Python 2:
      — Intérprete: /usr/bin/python2.7 (ver 2.7.6)
      — Bibliotecas: /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.6)
      — numpy: /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.8.2)
      — ruta de los paquetes: lib/python2.7/dist-packages
      — Python 3:
      — Intérprete: /usr/bin/python3.4 (ver 3.4.3)
      — Librerías: /usr/lib/x86_64-linux-gnu/libpython3.4m.so (ver 3.4.3)
      — numpy: /usr/lib/python3/dist-packages/numpy/core/include (ver 1.8.2)
      — ruta de los paquetes: lib/python3.4/dist-packages

      Ahora construye los archivos usando el comando «make» e instálalo usando el comando «make install».

      $ make
      # sudo make install
      La instalación ha terminado. Todos los archivos están instalados en la carpeta «/usr/local/». Abre un terminal y prueba a importar «cv2».

      importar cv2 como cv
      print(cv.__version__)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *