La captura de PiCamera con OpenCV 4.5.4 en Ubuntu 22.04 Server (RaspberryPi 4B) devuelve un marco vacío

La captura de PiCamera con OpenCV 4.5.4 en Ubuntu 22.04 Server (RaspberryPi 4B) devuelve un marco vacío

Se instaló OpenCV 4.5.4 en el servidor Ubuntu 22.04 en Raspberry Pi4B.
(sudo apt instalar python3-opencv -y)

Video4Linux ve la cámara:

$ v4l2-ctl --list-devices
...

unicam (platform:fe801000.csi):
    /dev/video0
    /dev/media0

Al intentar capturar vídeo desde PiCamera v1.3 en OpenCV se obtiene un marco vacío

#!/usr/bin/env python3

import cv2 
from datetime import datetime

# open camera

cap = cv2.VideoCapture('/dev/video0', cv2.CAP_V4L)

# set dimensions
# 16:9 - 1296x730, 1920x1080
# 4:3 - 640x480, 1296x972, 2592x1944
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 2592)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 1944)

# filename format
fname = "capture_"+datetime.now().strftime("%Y%m%d-%H%M%S")+".jpg"

# capture a frame
ret, frame = cap.read()

print("ret:",ret)
if ret:
    print("h,w: ", frame.shape[:2])

    # wirte frame to file
    cv2.imwrite(fname, frame)
else:
    print("Frame not captured")

# release camera
cap.release()
# ---

$ ./snapJPG_opencv.py 
ret: False
Frame not captured

¿Alguna idea de cómo depurar?

Respuesta1

¿Habilitaste la cámara en elconfiguración raspi¿herramienta?

Recientemente tuve el mismo problema al usar la cámara en OpenCV en Raspberry pi 4 con Ubuntu 22.04 Server.

Necesitas instalar elconfiguración raspiherramienta.

En una terminal, escriba el siguiente comando para instalar la herramienta.

sudo apt install raspi-config

Luego abra la herramienta usando

sudo raspi-config

Una vez abierta la pantalla de herramientas, vaya a Opciones de interfaz y luego habilite la "Opción de cámara heredada".

Más sobre la herramienta raspi-configDocumentación de frambuesa Pi

información relacionada