Python opencv cv2.VideoCapture 冻结
Python opencv cv2.VideoCapture freeze
我的代码总是死机。我正在用这段代码测试它。
import cv2
cap = cv2.VideoCapture('/dev/video0') # frozen
ret, frame = cap.read()
print(ret, frame)
我的配置是
raspberry pi
Python 3.9.2
佳能600D
此命令正常工作
gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0
Cannon 600D 可能存在错误。
您应该为您的代码添加循环。如果你不这样做,你总是只能从相机中获得 1 帧。
示例:
import cv2
cap = cv2.VideoCapture('/dev/video0') # frozen
while true:
ret, frame = cap.read()
if not ret:
continue
print(ret, frame)
它需要 运行
sudo modprobe v4l2loopback
和
gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0
和 gphoto2 运行
我的代码总是死机。我正在用这段代码测试它。
import cv2
cap = cv2.VideoCapture('/dev/video0') # frozen
ret, frame = cap.read()
print(ret, frame)
我的配置是
raspberry pi
Python 3.9.2
佳能600D
此命令正常工作
gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0
Cannon 600D 可能存在错误。
您应该为您的代码添加循环。如果你不这样做,你总是只能从相机中获得 1 帧。 示例:
import cv2
cap = cv2.VideoCapture('/dev/video0') # frozen
while true:
ret, frame = cap.read()
if not ret:
continue
print(ret, frame)
它需要 运行
sudo modprobe v4l2loopback
和
gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0
和 gphoto2 运行