¿Cómo instalar OpenCV en el Pi de frambuesa?

Necesitamos realizar diferentes operaciones en una imagen para extraer información útil de ella. Por lo tanto, este proceso de aplicar diferentes algoritmos en una imagen para obtener la salida deseada se llama Procesamiento de la imagen . A veces, la imagen en la entrada es borrosa y queremos adquirir datos de ella. Por ejemplo. Cuando los ladrones vienen a robar la bicicleta o el coche, la mayoría de las veces vienen en la bicicleta y se instalan cámaras aéreas en las carreteras que captan las imágenes del incidente. Necesitamos saber el número de matrícula del vehículo en el que vienen los ladrones y se puede hacer fácilmente usando algunos algoritmos de procesamiento de imágenes. Para realizar el procesamiento de imágenes en ciertas imágenes, necesitamos instalar algunas bibliotecas en el hardware que estamos usando. Entre esas librerías la más importante es OpenCV. OpenCV puede ser instalada en PCs y microprocesadores también. El Pi de frambuesa es un microprocesador y se utiliza en varios proyectos electrónicos. Después de instalar el Sistema Operativo en Raspberry Pi podemos realizar varias tareas de procesamiento de imágenes en él. Instalar el OpenCV en el Raspberry Pi es una tarea larga y agitada. En este artículo, aprenderemos a instalar OpenCV en el Raspberry Pi para realizar diferentes operaciones de procesamiento de imágenes en él.

Detección de rostros con OpenCV instalado en el Pi de frambuesa

¿Cómo se configura el Pi de Frambuesa y se configura OpenCV en él?

Ahora, vamos a pasar a la configuración de Pi y a hacer las operaciones mencionadas como paso a paso para instalar OpenCV en él. La instalación de OpenCV en Pi es un proceso largo y toma alrededor de 4 horas para completarlo, así que si tienes poco tiempo no empieces la instalación, consulta este tutorial cuando estés libre. Junto con esto, Pi se calienta cuando ha sido encendido ON durante mucho tiempo y se realizan operaciones que llevan tiempo en él, por lo que, manténgalo en un lugar fresco cuando esté trabajando en él.

Paso 1: Componentes utilizados

  • Frambuesa Pi 3B+ Kit
  • Televisión con puerto HDMI
  • Cable HDMI
  • Teclado con cable
  • Ratón de ordenador con cable

Paso 2: Seleccionar el modelo de Frambuesa Pi

Hay varios modelos de pi de frambuesa en el mercado. Excepto el frambuesa pi cero, se puede preferir cualquier modelo. Esto se debe a que en el Pi zero establecer una red es un trabajo muy cansado. Se pueden comprar los últimos modelos como 3A+, 3B+ o 4. El nuevo Pi 3 de frambuesa es el aparato más rápido y dominante que la Fundación Pi de frambuesa ha lanzado hasta la fecha. Así que, en este proyecto, usaremos el Raspberry Pi 3B+.

Frambuesa Pi 3B+

Paso 3: Conexión de los periféricos

Después de elegir el Pi de Frambuesa conectaremos el teclado y el ratón al Pi de Frambuesa. Después de conectarlos usaremos el cable HDMI para conectar el Pi con la televisión. Después de hacer estas conexiones estamos listos para seguir adelante.

Paso 4: Elección del sistema operativo

En primer lugar, necesitaremos una tarjeta SD con un sistema operativo apropiado. A la hora de elegir el sistema operativo, hoy en día hay varias alternativas, desde el Raspbian “convencional” hasta los marcos de trabajo de medios dedicados, e incluso el Windows 10 IoT. No hay necesidad de muchas aplicaciones, por lo tanto, debemos dejar la Unidad Central de Procesamiento (CPU) y la Memoria de Acceso Aleatorio (RAM) tanto como podamos para la aplicación de streaming de medios. Un problema es que Arch Linux es recomendado para personas que tienen bastante conocimiento de Linux. Están muy en primera línea y estamos obligados a seguir teniendo problemas al introducir aplicaciones y bibliotecas de terceros. Por lo tanto, si este es su primer establecimiento de un cine en casa, le sugerimos que elija Raspbian Lite . Es impulsado por la línea de comandos, y puede sin mucho estiramiento diseñado para seguir funcionando en modo “sin cabeza”, es decir, se accede de forma totalmente remota a través del sistema sin necesidad de una consola o pantalla.

También te puede interesar:  ¿Cómo crear un álbum de recortes en Facebook?

Raspbian Lite

Paso 5: Asegurarse de que el Pi de frambuesa está al día

Mantén las fuentes de tu Pi actualizadas, de lo contrario, el software obsoleto causará algunos problemas. Habilita el visor de Virtual Network Computing (VNC) en tu Pi, luego conecta tu Pi de Frambuesa con el visor VNC. A continuación se proporciona el enlace para descargar el VNC y luego conectarlo con los Pi.

Visor VNC

Ahora, abra la terminal y ejecute el siguiente comando:

sudo apt-get update

Entonces,

sudo apt-get upgrade

Se instalarán numerosos paquetes y si se le pide, pulse Y y luego Enter para instalarlos correctamente.

Paso 6: Ingresar a Frambuesa Pi

El nombre de usuario por defecto del Pi de frambuesa es pi, y la contraseña por defecto es frambuesa. Estos son los datos de acceso por defecto y en tu primer acceso usa estos datos para acceder a pi. También puedes cambiar estos datos cuando quieras.

Entrar a Raspberry Pi

Paso 7: Crear suficiente espacio en el Raspbian para OpenCV

OpenCV adquiere una gran memoria por lo que necesitamos expandir el sistema de archivos y asignar todo el espacio a la tarjeta de memoria. Iremos a la línea de comandos de frambuesa y escribiremos el siguiente comando:

sudo raspi-config

Aparecerá una ventana y se verá así:

Herramienta de configuración

Ahora, haremos clic en Opciones avanzadas y allí encontraremos una opción “Expandir sistema de archivos”. Seleccione esa opción.

Ampliar sistema de archivos

Presionaremos el botón Enter y luego el botón Finish . En esta etapa, nuestro Pi de Frambuesa necesita ser reiniciado para que los cambios surtan efecto. Escriba el siguiente comando para reiniciarlo:

sudo reboot

Después de reiniciar comprobaremos si nuestro sistema de archivos se ha expandido y si todo el espacio está incluido en la tarjeta SD o no. Ejecutando el comando df -h podemos verificar que nuestro disco se ha expandido:

El que está usando una tarjeta micro SD de 8GB puede estar usando el 50% del espacio disponible, por lo que borrar Wolfram Engine y LibreOffice puede liberar alrededor de 1GB de espacio. (Recuerda que este paso es opcional).

sudo apt-getpurge wolfram-enginesudo apt-getpurge libreoffice*sudo apt-getclean
sudo apt-getautoremove

Paso 8: Instalación de las dependencias

Antes de ir por y dependencias necesitamos actualizar y mejorar los paquetes existentes que están instalados en Pi:

sudo apt-get update

Entonces,

sudo apt-get upgrade

Ahora, instalaremos algunas herramientas de desarrollo que nos ayudarán a configurar la construcción de OpenCV:

sudo apt-getinstall cmake build-essential pkg-config

Para realizar las diferentes operaciones en las imágenes necesitamos cargar los diferentes formatos de imagen del disco duro. Esos formatos incluyen JPEG, PNG, etc. Para cargar estos formatos de imagen instalaremos algunos paquetes de E/S:

sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev

Junto con estos paquetes de E/S de imágenes también instalaremos paquetes de E/S de video. Después de instalar estos paquetes de video podremos cargar varios formatos de archivos de video.

sudo apt-getinstall libavcodec-dev libavformat-dev libswscale-dev libv4l-devsudo apt-getinstall libxvidcore-dev libx264-dev

La biblioteca de OpenCV acompaña a un submódulo llamado highgui que se utiliza para mostrar imágenes a nuestra pantalla y fabricar GUI esenciales. Antes de compilar ese sub-módulo necesitamos instalar la biblioteca de desarrollo GTK:

sudo apt-getinstall libgtk2.0-dev libgtk-3-dev

Se pueden realizar varias operaciones matriciales en una imagen comprobando el tamaño de la misma y luego leyendo los valores de los píxeles. También podemos convertir esos valores de píxeles en forma binaria y luego modificar esos dígitos binarios para regenerar una imagen. En el pi de frambuesa, tenemos algunas limitaciones a la hora de proporcionar la entrada, por lo que estas librerías son importantes y deben ser instaladas. Por lo tanto, esos resultados se pueden mejorar instalando algunas dependencias adicionales:

También te puede interesar:  Usando los controles del Hogar: Para una automatización inteligente del hogar
sudo apt-getinstall libatlas-base-dev gfortran

Algunos trabajarán en Python 2.7 y otros en Python 3. Los archivos de cabecera de Python 2.7 y Python 3 necesitan ser instalados para compilar OpenCV junto con los bindings de Python:

sudo apt-getinstall python2.7-dev python3-dev

En la nueva versión de Raspbian Python 3 ya está instalado y puede aparecer un msg en la Terminal Lx indicando que “Python 3 ya es la última versión” . Este paso es importante porque podemos enfrentarnos a un error con respecto al archivo de cabecera llamado como Python.h mientras ejecutamos el comando make para compilar OpenCV.

Paso 9: Descargar el código fuente de OpenCV

Cuando terminemos de instalar las dependencias buscaremos la carpeta de archivos de la versión 3.3.0 de OpenCV en el directorio oficial de OpenCV.

cd~wget-Oopencv.ziphttps://github.com/Itseez/opencv/archive/3.3.0.zipunzip opencv.zip

Estamos instalando todo el paquete de OpenCV así que necesitamos incluir también opencv_contrib. Descárgalo del sitio oficial y luego descomprímelo.

wget-Oopencv_contrib.ziphttps://github.com/Itseez/opencv_contrib/archive/3.3.0.zipunzip opencv_contrib.zip

Al descargar estos directorios tened en cuenta una cosa: la versión de OpenCV y opencv_contrib debe ser la misma, es decir, debe ser la 3.3.0, de lo contrario habrá errores de compilación durante la instalación.

Paso 10: ¿Pitón 2.7 o Pitón 3?

El rendimiento de la pitón 2.7 es mejor que el de la pitón 3, pero en OpenCV no hay mucha diferencia. Necesitamos instalar pip en Frambuesa antes de compilar OpenCV. Es un sistema de gestión de paquetes que se utiliza para instalar los paquetes de software que se usan en Python. Estos paquetes pueden estar presentes en la última versión de Raspbian de forma predeterminada, pero es mejor verificarlo mediante los siguientes comandos.

wget https://bootstrap.pypa.io/get-pip.pysudo python get-pip.pysudo python3 get-pip.py

Después de la instalación de pip dos paquetes son muy recomendables y deben ser instalados mientras se trabaja en OpenCV. El primero es virtualenv y el segundo virtualenvwrapper. No podemos importar OpenCV directamente en Python así que crearemos un entorno virtual y luego trabajaremos en ese entorno. Un entorno virtual es una herramienta excepcional que se utiliza para mantener las condiciones requeridas por varios proyectos en lugares discretos creando entornos Python separados para cada uno de ellos.

sudo pip install virtualenv virtualenvwrappersudo rm-rf~/.cache/pip

Después de instalar estos paquetes necesitamos actualizar nuestro archivo ~/.profile que es el archivo oculto en nuestro directorio principal para incluir las siguientes líneas al final del mismo. Escribe el siguiente comando para entrar en el directorio:

nano ~/.profile

Cuando el directorio se abre, desplácese hacia abajo e incluya las siguientes líneas:

# virtualenv y virtualenvwrapperexport WORKON_HOME=$HOME/.virtualenvsexport VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3source/usr/local/bin/virtualenvwrapper.sh

Después de incluir estas líneas pulse ctrl+x, guárdelo pulsando Y y salga.

Directorio de Inicio

Cada vez que lanzamos la terminal y entramos en nuestro Pi este archivo punto se cargará automáticamente para nosotros. Como ya estamos conectados, teclearíamos manualmente source ~/.profile para cargar el contenido del archivo.

Creando el entorno virtual de Python: Necesitamos crear un entorno virtual usando python 2.7 y python 3.

mkvirtualenv cv-ppython2

Creará un entorno llamado cv en Python 2.7. Cualquiera que quiera crear un entorno en Python 3 debe escribir el comando que se menciona a continuación:

mkvirtualenv cv-ppython3

Verificando que estamos en el entorno virtual nombrado como “cv”: Cuando reiniciemos el pi no permaneceremos en un entorno virtual y necesitamos teclear dos comandos que se mencionan a continuación para entrar en el modo de entorno virtual.

source~/.profileworkon cv

La imagen de abajo indica que no estamos en el modo de entorno virtual:

También te puede interesar:  ¿Cómo hacer un circuito detector de metales?

LxTerminal

Así que, escribiendo los dos comandos mencionados arriba podremos acceder a nuestro entorno virtual. Si queremos salir del entorno virtual escribiremos “desactivar”:

Trabajando en un entorno virtual

Instalando NumPy en Raspbian: La única dependencia que necesitamos para instalar OpenCV en Raspberry es Numpy. Escriba el comando mencionado a continuación para instalar Numpy en Raspberry Pi. Se tardará aproximadamente 10 minutos en instalarlo:

pip install numpy

Paso 11: Compilación e instalación de OpenCV

Compilaremos e instalaremos OpenCV en el entorno virtual, así que asegúrate de que estás trabajando en el entorno virtual de CV. Si no estamos en el entorno virtual el OpenCV no podrá ser compilado. Ahora, cambiad el directorio al directorio principal, subdirectorio abrid el cv 3.3 y haced el directorio de compilación. Después de hacer el directorio de compilación pegar las últimas cinco líneas en el directorio CMake . Comprobará si hay ciertas librerías con rutas establecidas, versiones de python, etc.

cd~/opencv-3.3.0/mkdirbuildcdbuildcmake-DCMAKE_BUILD_TYPE=RELEASE-DCMAKE_INSTALL_PREFIX=/usr/local-DINSTALL_PYTHON_EXAMPLES=ON-DOPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3. 3.0/modules-DBUILD_EXAMPLES=ON..

Para aquellos que estén usando Python 2.7, tendrán que desplazarse a la salida de CMake y buscar la sección de Python 2.7 y ver si Numpy y las rutas de los paquetes están configurados correctamente. Para aquellos que están usando Python 3, revisarán la sección de python 3 justo debajo de la sección de Python 2:

Comprobando la sección de Python 2.7

Ahora, finalmente estamos listos para compilar OpenCV. Escriba el comando make y comenzará el proceso de compilación. Llevará aproximadamente cuatro horas compilar, por lo que es preferible empezar la compilación antes de dormir por la noche, para que cuando se despierte por la mañana el OpenCV esté compilado. Escribiendo un comando “make” se compilará usando sólo un núcleo. Aunque es un proceso que lleva un poco de tiempo pero tiene menos probabilidad de errores. Usar el comando make -j4 y make -j2 podría resultar en el sobrecalentamiento del Pi de Frambuesa y también podría resultar en errores de compilación:

make

Compilación completa

Instalaremos OpenCV 3 en Raspberry Pi usando el siguiente comando. Ejecutando este comando se copiarán los respectivos archivos en sus ubicaciones:

sudo make install

Nuestra instalación se completará ejecutando este comando final:

sudo ldconfig

Ahora quedan un par de pasos cuando usamos Python 2.7 o Python 3.

Paso 12: Terminar la instalación

Vuelva al directorio principal escribiendo cd~.

Python 3: Vamos a enlazar los enlaces de OpenCV en nuestro cv en el directorio de python 3 porque hemos compilado los enlaces de OpenCV y python para python 3.

cd~/.virtualenvs/cv/lib/python3.5/site-packages/ln-s/usr/local/lib/python3.5/site-packages/cv2.socv2.so

¡Eso es! Ahora, hemos instalado OpenCV en Raspberry Pi. Ahora lo comprobaremos en el entorno virtual.

Paso 13: Prueba de OpenCV

Abre la LxTerminal y escribe el comando source seguido del comando workon . Cuando hayamos entrado en el modo de entorno virtual importaremos los enlaces de OpenCV escribiendo python y luego importaremos cv2. Si no hay ningún error msg significa que se ha importado con éxito.

fuente~/.profileworkon cvpython>>importar cv2

Después de eso, comprobaremos nuestra versión de OpenCV escribiendo el siguiente comando:

cv2.__versión__

Prueba]

Hemos instalado OpenCV en Raspberry 3B+. Ahora podemos realizar numerosas operaciones de procesamiento de imágenes en Python como la detección de dígitos, reconocimiento de rostros, etc.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.