PiCamera mit OpenCV 4.5.4 auf Ubuntu 22.04 Server (RaspberryPi 4B) Capture gibt leeren Frame zurück

PiCamera mit OpenCV 4.5.4 auf Ubuntu 22.04 Server (RaspberryPi 4B) Capture gibt leeren Frame zurück

OpenCV 4.5.4 auf Ubuntu 22.04 Server auf Raspberry Pi4B installiert.
(sudo apt install python3-opencv -y)

Video4Linux sieht die Kamera:

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

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

Beim Versuch, ein Video von PiCamera v1.3 in OpenCV aufzunehmen, wird ein leerer Rahmen angezeigt

#!/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

Irgendwelche Ideen zum Debuggen?

Antwort1

Haben Sie die Kamera imraspi-konfigurationWerkzeug?

Ich hatte vor Kurzem das gleiche Problem bei der Verwendung der Kamera in OpenCV auf Raspberry Pi 4 mit Ubuntu 22.04 Server.

Sie müssen dieraspi-konfigurationWerkzeug.

Geben Sie in einem Terminal den folgenden Befehl ein, um das Tool zu installieren.

sudo apt install raspi-config

Öffnen Sie anschließend das Tool mit

sudo raspi-config

Sobald der Tool-Bildschirm geöffnet ist, gehen Sie zu den Schnittstellenoptionen und aktivieren Sie dann die „Legacy-Kameraoption“.

Mehr zum Raspi-Config-ToolRaspberry Pi-Dokumentation

verwandte Informationen