bpi-cm5-usb-camera-capture.py
Python script using OpenCV to capture an image via a USB camera on the USB 3.0 port.
Connect a UVC-compatible USB camera to the BPI-CM5's USB 3.0 (5 Gbps) port. Install OpenCV with 'sudo apt install python3-opencv'. The Amlogic A311D2 SoC handles USB video streams well. The script checks for /dev/video0 before capturing. Resolution is set to 1080p by default but can be increased.
bpi-cm5-usb-camera-capture.py
#!/usr/bin/env python3
# BPI-CM5 USB Camera Capture Example
# Nécessite : sudo apt install python3-opencv
# Matériel : Caméra USB compatible UVC connectée au port USB 3.0
import cv2
import sys
def capture_image(device_index=0):
# Ouverture de la caméra (0 est généralement le premier périphérique vidéo)
cap = cv2.VideoCapture(device_index)
if not cap.isOpened():
print(f"Erreur : Impossible d'ouvrir la caméra {device_index}")
sys.exit(1)
# Configuration optionnelle de la résolution (4K supporté par le SoC)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1920)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080)
print("Capture d'une image...")
ret, frame = cap.read()
if ret:
filename = "capture_bpi_cm5.jpg"
cv2.imwrite(filename, frame)
print(f"Image sauvegardée sous : {filename}")
else:
print("Échec de la capture de l'image.")
cap.release()
if __name__ == "__main__":
# Vérifier la disponibilité du périphérique /dev/video0
import os
if not os.path.exists('/dev/video0'):
print("Aucun périphérique vidéo détecté. Branchez une caméra USB.")
sys.exit(1)
capture_image(0)