Raspberry Pi4B의 Ubuntu 22.04 서버에 OpenCV 4.5.4를 설치했습니다.
( sudo apt install python3-opencv -y )
Video4Linux는 카메라를 봅니다:
$ v4l2-ctl --list-devices
...
unicam (platform:fe801000.csi):
/dev/video0
/dev/media0
OpenCV의 PiCamera v1.3에서 비디오를 캡처하려고 하면 빈 프레임이 표시됩니다.
#!/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
디버깅 방법에 대한 아이디어가 있나요?
답변1
카메라를 활성화하셨나요?raspi 구성도구?
최근 Ubuntu 22.04 Server가 설치된 Raspberry pi 4의 OpenCV에서 카메라를 사용하여 동일한 문제가 발생했습니다.
다음을 설치해야 합니다.raspi 구성도구.
도구를 설치하려면 터미널에 아래 명령을 입력하세요.
sudo apt install raspi-config
그런 다음 다음을 사용하여 도구를 엽니다.
sudo raspi-config
도구 화면이 열리면 인터페이스 옵션으로 이동한 다음 "레거시 카메라 옵션"을 활성화합니다.
raspi-config 도구에 대한 추가 정보라즈베리 파이 문서