🛠 Automatizar un flujo de vídeo inteligente en AIWorld P1

Módulo de IA AIWorld P1 para BPI-M2 Ultra y Berry · avance · Mettez en place un pipeline vidéo automatisé combinant Gstreamer, OpenCV et le stockage local sur l'AIWorld P1.

Objectifs

Este tutorial tiene como objetivo crear un sistema autónomo de adquisición de vídeo en la placa AIWorld P1. Aprenderá a configurar un pipeline Gstreamer para capturar el flujo de la cámara OV5640, procesarlo mediante OpenCV para una detección básica y guardar los resultados localmente. El objetivo es aprovechar el cálculo paralelo OpenMP y la decodificación de hardware OpenMax para garantizar un rendimiento fluido a 720P 30fps sin sobrecargar la CPU.

Matériel nécessaire

Étapes

Conéctese a la placa vía adb. Asegúrese de que las bibliotecas ARM Computer Library 17.06 y OpenCV v3.2 sean accesibles. ``bash adb shell export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH ``

  1. Preparación del entorno

Cree un script para inicializar la captura. Gstreamer V1.10 gestiona flujos RTSP/HTTP. Use el plugin v4l2src para la cámara. ``bash gst-launch-1.0 v4l2src device=/dev/video0 ! \n video/x-raw,width=1280,height=720,framerate=30/1 ! \n openmaxjpegdec ! \n videoconvert ! \n autovideosink ` Note que openmaxjpegdec` usa decodificación de hardware para optimizar el rendimiento.

  1. Configuración del pipeline Gstreamer

Para el procesamiento, compile un programa C++ usando OpenCV. Habilite OpenMP V1.0 para el cálculo paralelo de imágenes. ``cpp #include <opencv2/opencv.hpp> #include <omp.h> // Código simplificado de captura y procesamiento ` Compile con banderas -fopenmp` y enlaces a las bibliotecas ARM.

  1. Integración de OpenCV y OpenMP

Configure un script shell que lance la captura, procese los fotogramas y guarde las imágenes detectadas en /data/captures. ``bash ./video_processor.sh --output /data/captures/ ``

  1. Automatización del almacenamiento

Use VecooAT para enviar el binario compilado a la placa. ``bash adb push video_processor /bin/ adb shell chmod +x /bin/video_processor ``

  1. Despliegue y prueba

Vérification

Inicie el script. Verifique que el flujo se muestre correctamente vía autovideosink o un servidor HTTP. Controle el uso de CPU con top; debe permanecer moderado gracias a OpenMP. Verifique que los archivos aparezcan en la carpeta de destino con marcas de tiempo coherentes.

Pour aller plus loin

Explore la integración de QT5.9 con eglfs para una interfaz gráfica en tiempo real. También puede configurar un servidor RTSP para transmitir el flujo procesado a otros dispositivos, aprovechando las capacidades de red de la plataforma Vecoo.

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales