🛠 Caméra DVP 8 bits sur le connecteur CSI et vision OpenCV

Banana Pi BPI-M2 Zero (Allwinner H2+ / H3) · avance · Schéma : IMG-bananapi-m2-zero-avance-2-camera-dvp-csi-opencv-m2-zero.svg — nappe FPC 24 broches reliant un module caméra OV5640 (capteur DVP parallèle) au connecteur CSI du BPI-M2 Zero ; tableau des signaux D0-D7, PCLK, HSYNC, VSYNC, MCLK, I2C PE12/PE13, CSI-PWR-EN (PD14) ; écran affichant une détection de visage OpenCV.

Objetivos

El conector CSI de 24 pines del BPI-M2 Zero es una rareza en este formato: un bus de cámara paralelo de 8 bits DVP/CCIR656 (D0-D7, PCLK, HSYNC, VSYNC, MCLK, control I2C sobre PE12/PE13, alimentación controlada por CSI-PWR-EN sobre PD14) para sensores tipo OV5640 hasta ~5 MP. Tenga cuidado con la trampa de vocabulario repetida por algunos artículos: es DVP paralelo, NO MIPI — las cámaras MIPI no son compatibles. Usted va a conectar la cinta plana, verificar el pipeline de vídeo en el núcleo y ejecutar una detección de rostros con OpenCV.

Material

Código completo

# 1) Le pipeline vidéo est-il présent ?
v4l2-ctl --list-devices 2>/dev/null || sudo apt install -y v4l-utils
v4l2-ctl -d /dev/video0 --all | head -25     # formats supportés (YUYV 1280x720...)

# 2) Capture d'une image de contrôle
ffmpeg -f video4linux2 -i /dev/video0 -ss 1 -frames:v 1 test.jpg 2>/dev/null

# 3) Détection de visage OpenCV (léger, adapté aux 512 Mo)
sudo apt install -y python3-opencv
python3 - <<'EOF'
import cv2
cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
face = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
while True:
    ok, frame = cap.read
    if not ok:
        print('pas de trame — vérifier nappe et alimentation capteur')
        break
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    for x, y, w, h in face.detectMultiScale(gray, 1.2, 5):
        cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
    cv2.imshow('BPI-M2 Zero CSI', frame)
    if cv2.waitKey(1) == 27:
        break
EOF

Verificación esperada

v4l2-ctl lista el dispositivo de captura con formatos YUYV; la foto de control es nítida y correctamente expuesta; la ventana de OpenCV muestra el flujo y enmarca los rostros. En caso de trama completamente negra o verde, comience por verificar la orientación de la cinta plana FPC.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales