如何在Python中使用OpenCV设置捕获帧率?这是我的代码,但生成的帧速率小于请求的30fps。此外,视频质量非常差。
import cv
cv.NamedWindow ('CamShiftDemo', 1)
device = -1
cap = cv.CaptureFromCAM(device)
size = (640,480)
cv.SetCaptureProperty(cap, cv.CV_CAP_PROP_FPS,30)
cv.SetCaptureProperty(cap, cv.CV_CAP_PROP_FRAME_WIDTH, size[0])
cv.SetCaptureProperty(cap, cv.CV_CAP_PROP_FRAME_HEIGHT, size[1])
while True:
frame = cv.QueryFrame(cap)
cv.ShowImage('CamShiftDemo', frame)
cv.WaitKey(10)
答案 0 :(得分:0)
您受硬件限制,即:
如果其中任何一个无法处理请求的捕获参数(在你的情况下为640x480分辨率为30fps),那你就不走运了。您为OpenCV 提供的参数仅仅是建议 - 它会尽力匹配它们。
你使用什么型号的相机?我首先看看模型规格,看看他们是否宣传了你想要的参数。