x86-npu-inference-opencv-7.ino

BIOSTAR EdgeComp MS-U320 : Mini PC industriel sans ventilateur Intel Wildcat Lake · Fichier : x86-npu-inference-opencv-7.ino · Langage : python · Usage : Exécuter une inférence vision en temps réel utilisant le NPU Intel 15/16 TOPS et la sortie vidéo 4K.

Pipeline Python/OpenCV exploitant la capacité 4K et préparé pour l'accélération NPU via OpenVINO.

Ce script nécessite une installation d'OpenCV liée à OpenVINO pour profiter pleinement des 15-16 TOPS du NPU. Le SoC Intel Wildcat Lake gère la décodage matériel via les graphismes Intel Xe3. Assurez-vous que les pilotes graphiques Intel sont à jour sous Windows 11 ou Linux. L'exemple utilise une webcam USB, mais peut être adapté aux caméras industrielles via M.2 ou Ethernet. La résolution 4K doit être supportée par le moniteur connecté en HDMI 2.1 ou DisplayPort 1.4.

x86-npu-inference-opencv-7.ino

import cv2
import numpy as np

# Note : Pour utiliser le NPU Intel Wildcat Lake, OpenCV doit être compilé avec le backend OpenVINO
# Installez les dépendances : pip install openvino opencv-python numpy

def detect_objects():
    print("Démarrage de la caméra via OpenCV (Webcam USB ou CSI adapté)")
    cap = cv2.VideoCapture(0)
    
    if not cap.isOpened():
        print("Erreur : Impossible d'ouvrir la caméra")
        return

    # Configuration pour la sortie 4K (HDMI 2.1 / DP 1.4)
    cap.set(cv2.CAP_PROP_FRAME_WIDTH, 3840)
    cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 2160)
    
    try:
        while True:
            ret, frame = cap.read()
            if not ret:
                break
            
            # Exemple de traitement léger sur le CPU/GPU Xe3
            # Pour une vraie utilisation NPU, injecter un modèle .bin.xml OpenVINO ici
            gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
            edges = cv2.Canny(gray, 50, 150)
            
            cv2.imshow('EdgeComp MS-U320 Vision Pipeline', edges)
            
            if cv2.waitKey(1) & 0xFF == ord('q'):
                break
    except Exception as e:
        print(f"Erreur : {e}")
    finally:
        cap.release()
        cv2.destroyAllWindows()

if __name__ == "__main__":
    detect_objects()

← Retour à la fiche