Introducción
OpenCV (Open Source Computer Vision Library) es una biblioteca de visión artificial de código abierto y tiene accesos directos para C ++, Python y Java. Se utiliza para una amplia gama de aplicaciones que incluyen análisis de imágenes médicas, procesamiento de imágenes de Street View, video de vigilancia, detección y reconocimiento de rostros, seguimiento de objetos en movimiento, extracción de modelos 3D y mucho más.
OpenCV puede aprovechar el procesamiento de múltiples núcleos y cuenta con aceleración de GPU para operación en tiempo real.
En este tutorial, explicaremos cómo instalar OpenCV en Raspberry Pi 3.
Prerrequisitos
Suponemos que Raspbian está instalado en su Raspberry Pi.
Instale OpenCV desde los repositorios de Raspbian
El módulo OpenCV Python está disponible en el repositorio estándar de Raspbian.
Para instalar el módulo OpenCV Python, ejecute los siguientes comandos:
sudo apt update
sudo apt install python3-opencv
El comando anterior instalará todos los paquetes necesarios para ejecutar OpenCV.
Para verificar la instalación, importe el cv2
e imprima la versión OpenCV:
python3 -c "import cv2; print(cv2.__version__)"
3.2.0
Si desea instalar OpenCV con enlaces de Python 2, instale el paquete python-opencv
Instalar OpenCV desde la fuente
La forma recomendada de instalar OpenCV es compilar la biblioteca desde la fuente. De esta manera, tendrá un control completo sobre las opciones de compilación y OpenCV se optimizará para su sistema.
Comience aumentando el espacio de intercambio para evitar bloquear la compilación debido a problemas de memoria:
sudo nano /etc/dphys-swapfile
Cambie el valor predeterminado del parámetro CONF_SWAPSIZE
100
a 1024
:
CONF_SWAPSIZE=1024
Guarde el archivo y ejecute el siguiente comando para que los cambios surtan efecto:
sudo /etc/init.d/dphys-swapfile restart
Ahora podemos empezar a construir OpenCV. Primero, actualice el índice del paquete e instale las herramientas de compilación y las dependencias necesarias:
sudo apt update
sudo apt install build-essential cmake git pkg-config libgtk-3-dev "libcanberra-gtk*"
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev
sudo apt install libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev opencl-headers
sudo apt install python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev
Cree el directorio de compilación, ingrese el directorio y clone los repositorios OpenCV y OpenCV desde Github::
mkdir ~/opencv_build && cd ~/opencv_build
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
En el momento de escribir este artículo, la versión predeterminada en los repositorios de GitHub es la versión 4.1.1. Si desea instalar una versión anterior de OpenCV, vaya a los opencv
y opencv_contrib
y ejecute git checkout <opencv-version>
.
Después de clonar los repositorios, cree un directorio de compilación temporal y modifíquelo:
mkdir -p ~/opencv_build/opencv/build && cd ~/opencv_build/opencv/build
Configure la configuración de compilación de OpenCV con cmake
:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D ENABLE_NEON=ON \
-D OPENCV_EXTRA_EXE_LINKER_FLAGS=-latomic \
-D ENABLE_VFPV3=ON \
-D BUILD_TESTS=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
-D BUILD_EXAMPLES=OFF..
La salida se verá así:
...
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/opencv_build/opencv/build
Ejecute make
para iniciar el proceso de compilación:
make -j4
El proceso llevará algún tiempo, alrededor de 1 a 2 horas, según el modelo de Raspberry Pi. Si la compilación falla en algún momento, debido a recursos no disponibles, ejecute el make
nuevamente y el proceso continuará desde donde lo dejó.
Cuando termine, verá un mensaje de salida similar al siguiente:
...
[100%] Linking CXX shared module../../lib/python3/cv2.cpython-35m-arm-linux-gnueabihf.so
[100%] Built target opencv_python3
El último paso es instalar los archivos OpenCV compilados:
sudo make install
...
-- Installing: /usr/local/bin/opencv_version
-- Set runtime path of "/usr/local/bin/opencv_version" to "/usr/local/lib"
Para comprobar si OpenCV se ha instalado correctamente, escriba los siguientes comandos y debería ver la versión de OpenCV:
Biblioteca C ++:
pkg-config --modversion opencv4
4.1.1
Biblioteca de Python:
python3 -c "import cv2; print(cv2.__version__)"
4.1.1-pre
Eliminar los archivos de origen
Si no tiene mucho espacio libre en su tarjeta SD, elimine los archivos de origen:
rm -rf ~/opencv_build
El uso excesivo del espacio de intercambio podría dañar la tarjeta SD. Devuelva el espacio de intercambio a su tamaño original:
sudo nano /etc/dphys-swapfile
Cambie el valor del parámetro CONF_SWAPSIZE
100
:
CONF_SWAPSIZE=100
Guarde el archivo y active los cambios:
sudo /etc/init.d/dphys-swapfile restart
Conclusión
Le mostramos cómo instalar OpenCV en su placa Raspberry Pi. La construcción de OpenCV desde la fuente le brinda más flexibilidad y debería ser su primera opción al instalar OpenCV.