簡體   English   中英

如何使用OpenCV攝像機捕獲設置幀率

[英]How to set framerate with OpenCV camera capture

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

您受到硬件的限制,即:

  1. 相機的拍攝功能,以及
  2. 您計算機的系統資源。

如果其中任何一個都不能處理請求的捕獲參數(在30 fps下,分辨率為640x480),那么您就不走運了。 您提供給OpenCV的參數僅是建議 -它會盡力匹配它們。

您正在使用哪種型號的相機? 首先,我將看看模型規格,看看它們是否宣傳您所需的參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM