所以我需要在OpenCV中獲得網絡攝像頭的幀速率。哪個功能可以做這樣的事情?如何在OpenCV中獲取網絡攝像頭的幀速率?
2
A
回答
6
int cvGetCaptureProperty(CvCapture* capture, int property_id);
與property_id = CV_CAP_PROP_FPS
2
看來,現場攝像頭捕捉,可以設置任意FPS和回讀同樣的FPS,這無關與網絡攝像頭真正的FPS。這是一個錯誤嗎?
例如:
cvSetCaptureProperty(capture,CV_CAP_PROP_FPS,500);
後來
double rates = cvGetCaptureProperty(capture,CV_CAP_PROP_FPS);
printf("%f\n",rates);
會給你500
但是,如果我用web cam fps link定時它,它周圍的正常30fps的。
0
* OpenCV的2溶液:
C++: double VideoCapture::get(int propId)
例如
VideoCapture myvid("video.mpg");
int fps=myvid.get(CV_CAP_PROP_FPS);
0
在我的情況下,fps = video.get(cv2.CAP_PROP_FPS)不起作用。
所以,我發現這個代碼在這個環節:
https://www.learnopencv.com/how-to-find-frame-rate-or-frames-per-second-fps-in-opencv-python-cpp/
import cv2
import time
if __name__ == '__main__':
video = cv2.VideoCapture(1)
# Find OpenCV version
(major_ver, _, _) = (cv2.__version__).split('.')
# With webcam get(CV_CAP_PROP_FPS) does not work.
# Let's see for ourselves.
if int(major_ver) < 3:
fps = video.get(cv2.cv.CV_CAP_PROP_FPS)
print "Frames per second using video.get(cv2.cv.CV_CAP_PROP_FPS): {0}".format(fps)
else:
fps = video.get(cv2.CAP_PROP_FPS)
print "Frames per second using video.get(cv2.CAP_PROP_FPS) : {0}".format(fps)
# Number of frames to capture
num_frames = 120
print "Capturing {0} frames".format(num_frames)
# Start time
start = time.time()
# Grab a few frames
for i in xrange(0, num_frames):
ret, frame = video.read()
# End time
end = time.time()
# Time elapsed
seconds = end - start
print "Time taken : {0} seconds".format(seconds)
# Calculate frames per second
fps = num_frames/seconds
print "Estimated frames per second : {0}".format(fps);
# Release video
video.release()
相關問題
- 1. 從網絡攝像頭獲取幀
- 2. 使用OpenCV從網絡攝像頭抓取幀的問題
- 3. 如何使用opencv獲取網絡攝像頭設備列表?
- 4. Opencv從網絡攝像頭捕獲連續幀
- 5. OpenCV:從網絡攝像頭讀取幀掛起
- 6. 如何使用OpenCV攝像頭捕獲設置幀率
- 7. 如何在C#中獲取網絡攝像頭圖像?
- 8. 從網絡攝像頭獲取幀的最快方法
- 9. 如何設置攝像頭在android中進行視頻捕獲的幀速率...?
- 10. OpenCV - 攝像頭分辨率
- 11. 如何使用OpenCV從網絡攝像頭讀取視頻?
- 12. OpenCV - 網絡攝像頭不起作用
- 13. OpenCV +網絡攝像頭兼容性
- 14. OpenCV Python和一個網絡攝像頭
- 15. opencv網絡攝像頭不關閉
- 16. 網絡攝像頭流和OpenCV - 蟒蛇
- 17. 從網絡攝像頭獲取輸入
- 18. Opencv立體攝像頭捕獲和幀率限制
- 19. 從網絡攝像頭獲取最新幀
- 20. JavaScript獲取網絡攝像頭分辨率
- 21. 網絡攝像頭分辨率問題
- 22. opencv從網絡攝像頭捕獲圖像,無需後處理
- 23. 如何獲取靜態網絡攝像頭圖像
- 24. 如何從客戶端網絡攝像頭獲取圖像
- 25. 如何用OpenCV從網絡攝像機獲取光圈角度?
- 26. 如何計算的攝像頭最大支持的幀速率定分辨率
- 27. 從網絡攝像頭捕獲圖像
- 28. 網絡攝像機和OPENCV
- 29. 如何獲取安裝的網絡攝像頭列表?
- 30. 如何在OpenCV中使用網絡攝像頭獲取Mat圖像的像素值
這並不爲我工作。在opencv/python中給出了cap = cv2.VideoCapture(0),print「frame rate =」,cap.get(5)給了我一個零的fps。請注意,cv_cap_prop的fps爲常量5。 – user391339 2014-02-19 21:46:07