¿Cómo instalar OpenCV en Raspberry Pi?

Necesitamos realizar diferentes operaciones en una imagen para extraer información útil de ella. Entonces, este proceso de aplicar diferentes algoritmos en una imagen para obtener la salida deseada se llama Procesamiento de imágenes . A veces, la imagen en la entrada está borrosa y queremos adquirir datos de ella. Por ejemplo. Cuando los ladrones vienen a arrebatar la bicicleta o el automóvil, en su mayoría vienen en la bicicleta y se instalan cámaras aéreas en las carreteras que capturan las imágenes del incidente. Necesitamos saber el número de matrícula de ese vehículo en el que vienen los atracadores y se puede hacer fácilmente utilizando 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 bibliotecas, la más importante es OpenCV. OpenCV también se puede instalar en PC y microprocesadores. Raspberry Pi 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 OpenCV en Raspberry Pi es una tarea larga y agitada. En este artículo, aprenderemos cómo instalar OpenCV en Raspberry Pi para realizar diferentes operaciones de procesamiento de imágenes en él.



Detección de rostros con OpenCV instalado en Raspberry Pi

¿Cómo configurar Raspberry Pi y configurar OpenCV en él?

Ahora, avancemos hacia la configuración de Pi y realicemos las operaciones mencionadas en el paso a paso para instalar OpenCV en él. La instalación de OpenCV en Pi es un proceso largo y tarda alrededor de 4 horas en completarse, así que si tiene poco tiempo, no inicie la instalación, consulte este tutorial cuando esté libre. Junto con este Pi se calienta cuando se ha girado EN Durante mucho tiempo y tiempo, se realizan operaciones en él, así que manténgalo en un lugar fresco cuando esté trabajando en él.



Paso 1: componentes utilizados

  • Kit Raspberry Pi 3B +
  • Televisión con puerto HDMI
  • Cable HDMI
  • Ratón de computadora con cable

Paso 2: Seleccionar el modelo de Raspberry Pi

Hay varios modelos de raspberry pi disponibles en el mercado. A excepción de raspberry pi zero, se puede preferir cualquier modelo. Esto se debe a que en Pi zero configurar una red es un trabajo muy agotador. Se pueden adquirir los últimos modelos como 3A +, 3B + o 4. La nueva Raspberry Pi 3 es el dispositivo más rápido y dominante que la Fundación Raspberry Pi ha lanzado hasta la fecha. Entonces, en este proyecto, usaremos la Raspberry Pi 3B +.



Frambuesa Pi 3B +



Paso 3: Conexión de los periféricos

Después de elegir Raspberry Pi, conectaremos el teclado y el mouse a la Raspberry Pi. Después de conectarlos, use el cable HDMI para conectar Pi con el televisor. Después de realizar estas conexiones, estamos listos para continuar.

Paso 4: elegir el sistema operativo

En primer lugar, necesitaremos una tarjeta SD con un sistema operativo adecuado. Al elegir el sistema operativo, hoy en día existen varias alternativas, desde Raspbian “convencional” hasta marcos de trabajo dedicados a los medios, e incluso Windows 10 IoT. No hay necesidad de muchas aplicaciones, por lo tanto, deberíamos dejar la Unidad de procesamiento central (CPU) y la Memoria de acceso aleatorio (RAM) tanto como podamos para la aplicación de transmisión de medios. Un problema es que Arch Linux se recomienda para personas que tienen bastante conocimiento de Linux. Están en primera línea y seguramente seguiremos encontrando problemas al presentar 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 . Se maneja por línea de comandos y, sin mucho esfuerzo, está diseñado para seguir funcionando en modo 'sin cabeza', es decir, se accede de forma completamente remota a través del sistema sin necesidad de una consola o pantalla.

Raspbian Lite



Paso 5: asegúrese de que Raspberry Pi esté actualizado

Mantenga las fuentes de su Pi actualizadas, de lo contrario, el software desactualizado causará algunos problemas. Habilite el visor de Computación en red virtual (VNC) en su Pi, luego conecte su Raspberry Pi con el visor VNC. El enlace se proporciona a continuación para descargar VNC y luego conectarlo con Pi.

Visor de VNC

Ahora, abra la terminal y ejecute el siguiente comando:

sudo apt-get update

Luego,

sudo apt-get upgrade

Se instalarán numerosos paquetes y si se le solicita presione Y y entonces Entrar para instalarlos correctamente.

Paso 6: Inicie sesión en Raspberry Pi

El nombre de usuario predeterminado de Raspberry Pi es Pi, y la contraseña predeterminada es frambuesa. Estos son los detalles de inicio de sesión predeterminados y en su primer inicio de sesión utilice estos detalles para iniciar sesión en pi. También puede cambiar estos detalles cuando lo desee.

Iniciar sesión en Raspberry Pi

Paso 7: Creando suficiente espacio en Raspbian para OpenCV

OpenCV adquiere una gran cantidad de memoria, por lo que necesitamos expandir el sistema de archivos y asignar todo el espacio a la tarjeta de memoria. Iremos al símbolo del sistema de raspberry y escribiremos el siguiente comando:

sudo raspi-config

Aparecerá una ventana y se verá así:

Herramienta de configuración

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

Expandir el sistema de archivos

Presionaremos el Entrar y luego presione el Terminar botón. En esta etapa, es necesario reiniciar nuestra Raspberry Pi para que los cambios surtan efecto. Escriba el siguiente comando para reiniciarlo:

sudo reiniciar

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

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

sudoapto-obtener purgawolfram-motor sudoapto-obtener purgalibreoffice* sudoapto-obtener limpiar sudoapto-obtener autoremove

Paso 8: instalar dependencias

Antes de buscar dependencias, debemos actualizar y actualizar los paquetes existentes que están instalados en Pi:

sudo apt-get update

Luego,

sudo apt-get upgrade

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

sudoapto-obtener Instalar en pcconstruir-esencialhacerpaquete-config

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

sudoapto-obtenerInstalar en pclibjpeg-devlibtiff5-devlibjasper-devlibpng12-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 archivo de video.

sudoapto-obtener Instalar en pclibavcodec-devlibavformat-devlibswscale-devlibv4l-dev sudoapto-obtener Instalar en pclibxvidcore-devlibx264-dev

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

sudoapto-obtener Instalar en pclibgtk2.0-devlibgtk-3-dev

Se pueden realizar varias operaciones de matriz en una imagen comprobando el tamaño de la imagen y luego leyendo los valores de 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 raspberry pi, tenemos algunas limitaciones al proporcionar entradas, por lo que estas bibliotecas son importantes y deben instalarse. Por lo tanto, esos resultados se pueden mejorar instalando algunas dependencias adicionales:

sudoapto-obtener Instalar en pclibatlas-base-devgfortran

Algunas personas trabajarán en Python 2.7 y otras trabajarán en Python 3. Los archivos de encabezado de Python 2.7 y Python 3 deben instalarse para compilar OpenCV junto con los enlaces de Python:

sudoapto-obtener Instalar en pcpython2.7-devpython3-dev

En la nueva versión de Raspbian, Python 3 ya está instalado y puede aparecer un mensaje en la Terminal Lx indicando que 'Python 3 ya es la última versión' . Este paso es importante porque podemos enfrentar errores con respecto al archivo de encabezado denominado como Python.h mientras ejecuta el comando hacer para compilar OpenCV.

Paso 9: Descarga del código fuente de OpenCV

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

cd ~ wget -O opencv.Código Postal https://github.con/Itseez/opencv/archivo/3.3.0.zip abrir la cremalleraopencv.Código Postal

Estamos instalando el paquete completo de OpenCV, por lo que debemos incluir opencv_contrib también. Descárguelo del sitio oficial y luego descomprímalo.

wget -O opencv_contrib.Código Postal https://github.con/Itseez/opencv_contrib/archivo/3.3.0.zip abrir la cremalleraopencv_contrib.Código Postal

Al descargar estos directorios, tenga en cuenta que la versión de OpenCV   y opencv_contrib deberían ser iguales, es decir, deberían ser 3.3.0, de lo contrario, habrá errores de compilación durante la instalación.

Paso 10: ¿Python 2.7 o Python 3?

Python 2.7 en cuanto al rendimiento es mejor que Python 3, pero en OpenCV no hay mucha diferencia. Necesitamos instalar pepita en Raspberry antes de compilar OpenCV. Es un sistema de gestión de paquetes que se utiliza para instalar los paquetes de software que se utilizan en Python. Estos paquetes pueden estar presentes en la última versión de raspbian por defecto, pero es mejor verificarlo usando los siguientes comandos.

wgethttps://oreja.pypa.YO/obtener-pepita.py sudopitónobtener-pepita.py sudopython3obtener-pepita.py

Después de instalar pip, se recomiendan dos paquetes y es necesario instalarlos 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 mediante la creación de entornos Python separados para cada uno de ellos.

sudopepitaInstalar en pcvirtualenvvirtualenvwrapper sudorm -rf ~/.cache/pepita

Después de instalar estos paquetes, debemos actualizar nuestro ~/.perfil file que es el archivo oculto en nuestro directorio de inicio para incluir las siguientes líneas al final. Escriba el siguiente comando para ingresar al directorio:

nano~/.perfil

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

# virtualenv y virtualenvwrapper exportarWORKON_HOME=$ CASA/.virtualenvs exportarVIRTUALENVWRAPPER_PYTHON=/usr/a.m/python3 fuente /usr/local/a.m/virtualenvwrapper.sh

Después de incluir estas líneas, presione ctrl + x, guárdelo presionando Y y salir.

Directorio de inicio

Cada vez que lancemos la terminal e iniciemos sesión en nuestro Pi, este archivo de puntos se cargará automáticamente para nosotros. Como ya estamos conectados, escribiríamos manualmente fuente ~ / .profile para cargar el contenido del archivo.

Creación de un entorno virtual de Python: Necesitamos crear un entorno virtual usando python 2.7 y python 3.

mkvirtualenvcv -pags python2

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:

mkvirtualenvcv -pags python3

Verificación de que estamos en el entorno virtual denominado 'cv': Cuando reiniciamos el pi no permaneceremos en un entorno virtual y necesitamos teclear los dos comandos que se mencionan a continuación para entrar en el modo de entorno virtual.

fuente ~/.perfil trabajar encv

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

LxTerminal

Entonces, escribiendo los dos comandos mencionados anteriormente podremos acceder a nuestro entorno virtual. Si queremos salir del entorno virtual teclearemos desactivar:

Trabajando en un entorno virtual

Instalación de NumPy en Raspbian: La única dependencia que necesitamos para instalar OpenCV en Raspberry es Numpy. Escriba el comando que se menciona a continuación para instalar Numpy en Raspberry Pi. Tardará aproximadamente 10 minutos en instalar:

pepitaInstalar en pcnumpy

Paso 11: compilar e instalar OpenCV

Compilaremos e instalaremos OpenCV en el entorno virtual, así que asegúrese de que está trabajando en el entorno virtual de CV. Si no estamos en el entorno virtual, el OpenCV no se podrá compilar. Ahora, cambie el directorio al directorio de inicio, subdirectorio cv abierto 3.3 y luego crea el directorio de compilación. Después de hacer que el directorio de compilación pegue las últimas cinco líneas en el CMake directorio. Verificará ciertas rutas de configuración de bibliotecas, versiones de Python, etc.

cd ~/opencv-3.3.0/ mkdir construir cd construir hacer -re CMAKE_BUILD_TYPE=LANZAMIENTO  -re CMAKE_INSTALL_PREFIX=/usr/local  -re INSTALL_PYTHON_EXAMPLES=EN  -re OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/módulos  -re BUILD_EXAMPLES=EN ..

Para aquellos que están usando Python 2.7, tendrán que desplazarse a la salida de CMake y buscarán la sección Python 2.7 y verán si Numpy y las rutas de los paquetes están configurados correctamente. Para aquellos que están usando Python 3, verificará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. La compilación demorará aproximadamente cuatro horas, por lo tanto, es preferible comenzar la compilación antes de dormir por la noche para que cuando se despierte por la mañana se compile el OpenCV. Al escribir un comando 'hacer', se compilará utilizando un solo núcleo. Aunque es un proceso que toma un poco de tiempo, tiene menos probabilidad de errores. Usar el comando de make -j4 y make -j2 podría resultar en un sobrecalentamiento de la Raspberry Pi y también podría resultar en errores de compilación:

hacer

Compilación completa

Instalaremos OpenCV 3 en Raspberry Pi usando el siguiente comando. La ejecución de este comando copiará los archivos respectivos en sus ubicaciones:

sudo make install

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

sudoldconfig

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

Paso 12: Finalización de la instalación

Regrese al directorio de inicio escribiendo cd~.

Python 3: Enlazaremos simbólicamente los enlaces de OpenCV en nuestro cv en el directorio de python 3 porque compilamos los enlaces de OpenCV y python para python 3.

cd ~/.virtualenvs/cv/lib/python3.5/sitio-paquetes/ en -s /usr/local/lib/python3.5/sitio-paquetes/cv2.entonces cv2.entonces

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

Paso 13: Probar OpenCV

Abra LxTerminal y escriba el fuente comando seguido por el trabajar en mando. Como hemos entrado en el modo de entorno virtual, importaremos enlaces OpenCV escribiendo python y luego importaremos cv2. Si no hay mensaje de error, significa que se ha importado correctamente.

fuente ~/.perfil trabajar encv pitón >>importarcv2

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

cv2.__versión__

Pruebas]

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