【发布时间】:2012-12-10 06:58:11
【问题描述】:
cv2 无法设置 fps,但我可以使用 ;
更改 fpsv4l2-ctl -d 1 --set-parm=60
和分辨率 ;
v4l2-ctl -d 1 --set-fmt-video=width=640,height=480
但是当我尝试;
camcapture = cv2.VideoCapture(1)
_,f = camcapture.read()
cv2.imwrite(filename, f)
捕捉速度为 60fps,但分辨率为 320x240。很明显 cv2.VideoCapture 改变了分辨率。好的,所以它不关心 v4l2-ctl 编写的设置并覆盖它自己的设置。所以我试试;
camcapture.set(3,640)
camcapture.set(4,480)
图像是预期的 640x480,但帧速率降低到 30fps。这次它覆盖了 fps 值。即使相机支持它,我也无法让它在 640x480@60fps 下工作。
有什么想法可以防止 cv2.VideoCapture 覆盖 v4l2-ctl 书面设置吗?
【问题讨论】:
-
如果我错了,请纠正我,640*480*3*60/1000000 = 55 MB/s 吞吐量是您需要的,但理论上的 usb 2.0 限制为 60 MB - 实现该速率并不常见.所以规格说 640x480 @ 60 fps 可能意味着灰度输出。