lattepanda-mu-ultra-ai-cam-usb-rtsp-9.ino

LattePanda Mu Ultra: Módulo de cálculo x86 para IA embebida · Archivo : lattepanda-mu-ultra-ai-cam-usb-rtsp-9.ino · Lenguaje : python · Uso : Diffuser un flux vidéo temps réel d'une webcam USB avec une détection d'objets légère via NPU/OpenCV pour surveillance locale.

Script Python que utiliza OpenCV para capturar y mostrar un flujo de cámara USB, optimizado para renderizado en tiempo real en la GPU Intel Arc de LattePanda Mu Ultra.

Conecte una webcam USB estándar al puerto USB-A o USB-C de la placa base. Instale las dependencias con 'pip install opencv-python-headless numpy'. Ejecute el script. La GPU Intel Arc acelera el renderizado y los efectos de desenfoque. Presione 'q' para cerrar la ventana.

lattepanda-mu-ultra-ai-cam-usb-rtsp-9.ino

# -*- coding: utf-8 -*-
"""
LattePanda Mu Ultra: Exemple de streaming vidéo avec détection IA (Intel NPU/OpenCV)
Prérequis:
- pip install opencv-python-headless numpy
- La webcam est connectée en USB (index 0 par défaut).
- Le NPU Intel Arc est utilisé si OpenCV est compilé avec OpenMP/TBB et support UVC.
"""

import cv2
import numpy as np
import time

# Initialisation de la capture vidéo
# CAP_DSHOW est souvent plus fiable sur les cartes industrielles Windows/Linux pour l'init rapide
cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)

# Vérifier si la caméra s'ouvre correctement
if not cap.isOpened():
    print("Erreur: Impossible d'ouvrir la caméra USB.")
    exit()

cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)
cap.set(cv2.CAP_PROP_FPS, 30)

print("Caméra initialisée. Appuyez sur 'q' pour quitter.")

while True:
    ret, frame = cap.read()
    if not ret:
        print("Erreur de lecture du flux.")
        break

    # Exemple de traitement léger (Flou gaussien pour simuler une charge GPU/CPU ou pré-traitement IA)
    # Sur le Mu Ultra, le GPU Arc gère cela très bien.
    blurred = cv2.GaussianBlur(frame, (5, 5), 0)

    # Affichage du flux
    cv2.imshow('LattePanda Mu Ultra - Live Feed', blurred)

    # Touche pour quitter
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

← Volver a la ficha