1

如何在 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)
4

1 回答 1

0

您受到硬件的限制,即:

  1. 你的相机的捕捉能力,和
  2. 您计算机的系统资源。

如果其中任何一个都无法处理请求的捕获参数(在您的情况下为 30fps 的 640x480 分辨率),那么您就不走运了。您提供给 OpenCV 的参数只是建议——它会尽力匹配它们。

你用的是什么型号的相机?我会首先查看模型规格,看看它们是否宣传您想要的参数。

于 2013-08-03T17:00:42.707 回答