x86-npu-inference-opencv-7.ino

BIOSTAR EdgeComp MS-U320: Fanless Intel Wildcat Lake Industrial Mini PC · File : x86-npu-inference-opencv-7.ino · Language : python · Use case : Exécuter une inférence vision en temps réel utilisant le NPU Intel 15/16 TOPS et la sortie vidéo 4K.

Python/OpenCV pipeline leveraging 4K capability and prepared for NPU acceleration via OpenVINO.

This script requires an OpenCV installation linked to OpenVINO to fully leverage the 15-16 TOPS NPU. The Intel Wildcat Lake SoC handles hardware decoding via Intel Xe3 graphics. Ensure Intel graphics drivers are up to date under Windows 11 or Linux. The example uses a USB webcam, but can be adapted to industrial cameras via M.2 or Ethernet. 4K resolution must be supported by the monitor connected via HDMI 2.1 or 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()

← Back to the board