Icono del sitio Home Assistant Fácil

Instalar OpenCV Raspberry Pi

Cómo instalar OpenCV en una Raspberry Pi a través de pip

Hay diferentes maneras de instalar OpenCV Raspberry Pi. La más común hasta hace más bien poco es utilizando el propio código fuente de OpenCV.

Esto requiere de la compilación de las fuentes. Un trabajo bastante costoso pero que te permite tener un mayor control de la configuración de OpenCV Raspberry Pi.

Sin embargo, la forma más rápida que hay en la actualidad de instalar OpenCV Raspberry Pi es utilizando pip (gestor de paquetes de Python).

En este tutorial te enseñaré cómo instalar OpenCV en Raspberry Pi para que puedas programar tus propios proyectos de visión artificial.

Si tu sistema operativo es Windows puedes seguir esta guía paso a paso para instalar OpenCV en Windows.

OpenCV y el gestor de paquetes pip

Antes de meternos de lleno para ver qué paquetes de OpenCV Raspberry Pi nos proporciona pip, sería interesante aclarar qué esto de pip.

pip es un administrador de paquetes para Python. Esto significa que gracias a pip vas a poder instalar y administrar librerías de Python que no se distribuyen como parte de la instalación estándar de Python.

Una de esas librerías es OpenCV pero existen miles de librerías que puedes instalar. Hacen de todo. Solo tienes que entrar a PyPi y comprobarlo por tí mismo.

Puedes encontrar NumPy, TensorFlow, Mahotas, … La herramienta pip proporciona un sistema muy eficiente para instalar y mantener todas estas librerías que, de otro modo, sería inviable.

Para comprobar que tienes pip instalado en tu máquina escribe el siguiente comando.

Obtendrás un resultado parecido a este aunque puede variar la versión.

Por defecto pip viene incluído en el instalador de Python desde la versión 3.4 de Python 3 y la versión 2.7 de Python 2. Si no tienes instalado pip deberías pensar en actualizar a una versión más moderna de Python.

De no ser así, en la documentación de pip encontrarás cómo instalar pip para tu versión concreta de Python.

Una vez instalado, si necesitas ayuda de cómo utilizar pip y de todos los comandos que admite puedes escribir el siguiente comando.

Obteniendo algo parecido a esto.

Esto no es un tutorial de pip pero me ha parecido importante que por lo menos supieras esto. Ahora vamos al lío, instalar OpenCV Raspberry Pi.

Ojo, pip es una herramienta que gestiona paquetes para Python. Python es un lenguaje de programación multiplataforma por lo tanto, funciona tanto para Linux como para MacOS y, por supuesto, con Raspberry Pi.

Si buscas OpenCV en PyPi en el momento que estoy escribiendo este tutorial aparecen nada más y nada menos que 852 proyectos para OpenCV.

Y…¿qué paquete es el que hay que instalar?¿cuál es el adecuado?

La respuesta es que el paquete más completo y el adecuado es el opencv-contrib-python. Es la librería que te recomiendo instalar ya que contiene todos los módulos principales y además contiene todos los módulos extra contrib.

Ahora sólo nos queda una cosa y es instalar OpenCV Raspberry Pi con el gestor de paquetes pip.

Cómo instalar OpenCV Raspberry Pi con pip

Antes he dicho que si no compilas las fuentes de OpenCV, pierdes el control de la instalación a nivel de configuración. Al final, compilar es como hacer un traje a medida de un software.

Sin embargo, para Raspberry Pi esto no es cierto del todo.

El proyecto piwheels es un repositorio de Python que proporciona paquetes binarios precompilados específicos para Raspberry Pi, es decir, cada paquete es un traje hecho a medida para tu Raspberry Pi.

La ventaja de utilizar Raspberry Pi es que las versiones están acotadas. No puedes instalar un nuevo micro o una nueva tarjeta de vídeo. Esto hace fácil tener precompilados ciertos paquetes que se ajustan a las características de cada modelo de Raspberry Pi.

Además, esto hace que las instalaciones de paquetes en una Raspberry Pi con pip sean mucho más rápidas.

Dentro de piwheels están las famosas librerías NumPy, SciPy, scikit-learn, mahotas o tensorflow entre otras.

Por defecto, las últimas versiones del sistema operativo para Raspberry Pi, Raspberry Pi OS, incluyen la configuración en pip para que directamente vaya a buscar en el repositorio de piwheels.

Bueno vamos a empezar a instalar OpenCV Raspberry Pi con pip.

Instalación de OpenCV 4 con Raspberry Pi

Ha llegado el momento de instalar OpenCV Raspberry Pi. Lo primero que hay que resolver es ¿qué versión de OpenCV instalar?

Actualmente la última versión que hay disponible es la 4.5.1 sin embargo, si no quieres tener problemas la web oficial de piwheels recomienda instalar la versión 4.1.0.25 o la 4.1.1.26 si tienes instalado Raspberry Pi OS (el antiguo Raspbian ) Strech o si tienes instalada la última versión, Buster, puedes instalar la versión 4.4.0.46 de OpenCV.

Mira desde aquí las últimas versiones que puedes actualizar en tu versión de Raspberry Pi OS.

Y lo mismo te estás preguntando, ¿qué versión de Raspberry Pi OS tengo?

Ejecuta el siguiente comando para consultar los datos del sistema operativo instalado en tu Raspberry Pi.

Esto mostrará el archivo os-release y aquí podrás ver la versión de tu Raspberry Pi OS.

En principio según esta información yo podría instalar la versión 4.4.0.46 de OpenCV Raspberry Pi. En la propia página de piwheels si das al símbolo de + puedes ver el comando exacto para instalar la versión correspondiente.

Incluso te dice que debes instalar unos paquetes adicionales utilizando el gestor apt.

Y aquí nos surge un dilema. Que pasa si instalo la versión 4.4.0.46 OpenCV Raspberry Pi y mañana hacen compatible la versión 4.5.1.48 con mi sistema Buster.

Es más, y si quieres tener dos versiones diferentes porque tienes un programa que funciona muy bien con la 4.4 y no funciona con la 4.5.

Puede que esto para ti no tenga importancia y lo entiendo. Si vas a tener la Raspberry Pi ejecutando un programa se cámaras de seguridad o cualquier dispositivo estático, que esté o no actualizado no supone un problema grabe.

Pero para mi, que me gusta trastear con las diferentes versiones y que me llegan preguntas y dudas de mis alumnos que cada uno tiene una versión diferente, se hace indispensable poder tener instaladas varias versiones del software.

Por lo tanto, si estás en el primer caso lo único que tienes que hacer es ejecutar estas dos líneas de comando.

Esto instalará todo lo necesario para todo el sistema.

Si lo que necesitas es trabajar con diferentes versiones lo mejor es utilizar un entorno virtual de Python. Es algo muy útil y muy común para crear entornos aislados con sus propias librerías y directorios que no comparten con otros entornos.

La herramienta para hacer esto se llama virtualenv.

Instalar OpenCV Raspberry Pi con entorno virtual de Python

Yo no soy un experto en entornos virtuales. Los utilizo y punto así que lo que te voy a contar ahora lo he sacado de este blog donde lo explican perfectamente. Dicho esto yo te voy a explicar cómo lo he hecho yo.

Lo primero, ejecuta el siguiente comando que hemos obtenido de piwheels para instalar los paquetes adicionales que necesitamos para utilizar OpenCV Raspberry Pi.

Luego hay que instalar los paquetes virtualenv y virtualenvwrapper a través de pip ejecutando el siguiente comando.

Esto instalará los paquetes necesarios para crear entornos virtuales de Python. Ahora hay que editar el archivo ~/.bashrc ejecutando el siguiente comando.

También puedes utiliza Vim, Emacs o el editor que utilices.

El comando anterior abrirá el archivo en el editor nano. Ves al final del archivo y añade las siguientes líneas.

Ahora pulsa las teclas CTRL + x para salir. Aparecerá un mensaje preguntando si quieres guardar los cambios.

Presiona la letra «s» y luego aparecerá otro mensaje preguntando por el nombre de archivo.

Deja el nombre del archivo original .bashrc. Solo nos falta una cosa y es actualizar el terminal ejecutando el siguiente comando.

Obtendrás un resultado como este.

Esto indica que el entorno virtual está listo para usarse. Ahora podemos ejecutar los comandos para gestionar los entornos virtuales en Python:

Para más información mira la documentación de virtualenvwrapper.

Ahora ya tenemos todo preparado para hacer una instalación de la versión 4.4.0.46 de OpenCV Rasbperry Pi pero antes hay que crear un entorno virtual con el siguiente comando.

Esto crea un entorno virtual llamado opencv4-4 donde todavía no hemos instalado OpenCV Raspberry Pi por cierto. Si ahora por ejemplo quisieras instalar la versión 4.1.0.25, podrías crearte un nuevo entorno virtual de la misma forma pero con otro nombre

De momento trabajamos con el primero que se llama opencv4-4 donde vamos a instalar la versión 4.4.0.46 de OpenCV Raspberry Pi.

Para activar el entorno virtual una vez creado utiliza el siguiente comando.

Si tu entorno virtual se llama de otra manera utiliza el nombre correspondiente. Cuando entras en un entorno virtual aparece el nombre del entorno en la parte izquierda.

Eso indica que estás dentro y que todo lo que instales en ese entorno virtual de Python, solo afectará al propio entorno y no al sistema. Por ejemplo, si instalas OpenCV Raspberry Pi no podrás acceder desde fuera.

Ahora sí, ya puedes instalar OpenCV Raspberry Pi ejecutando el siguiente comando.

Si todo ha ido bien obtendrás un mensaje como este.

Solo nos queda una cosa y es probar la instalación de OpenCV Raspberry Pi. Una vez dentro del entorno virtual Python ejecuta el comando

Esto abre el interprete de Python donde podemos escribir nuestro código. Lo que vamos a hacer a continuación es comprobar la versión. Escribe lo siguiente

Obtendrás algo parecido a esto.

Y con esto ya tienes instalado OpenCV Raspberry Pi y listo para empezar a crear proyectos Maker.

Y después de instalar OpenCV Raspberry Pi qué

Una vez has finalizado la instalación de OpenCV Raspberry Pi se abre un mundo nuevo de posibilidades para crear tus propios proyectos basados en esta librería de Visión Artificial y Machine Learning.

Puedes empezar con estos tutoriales aptos para ser utilizados con OpenCV Raspberry Pi:

Y nada más, hasta aquí el tutorial para instalar OpenCV Raspberry Pi. Cualquier duda o sugerencia en los comentarios.

Salir de la versión móvil