【发布时间】:2018-11-17 05:02:47
【问题描述】:
我有一个非常简单的代码来查看来自网络摄像头(Microsoft HD LifeCam Studio)的视频,如下所示:
import cv2
from imutils.video import FPS
cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)
fps = FPS().start()
while cap.isOpened():
_,frame = cap.read()
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
fps.update()
fps.stop()
print("{}".format(fps.fps()))
cap.release()
cv2.destroyAllWindows()
程序结束时,代码将打印出 FPS。
在 Windows 上运行此代码时,我收到 30 FPS。但是,在 Ubuntu 上运行时,我只能获得 10 FPS。
我尝试了cap.set(cv2.cv.CV_CAP_PROP_FPS, 30),但它不起作用。
有人遇到同样的情况吗?这个问题有什么解决办法吗?
我正在运行 Windows 10 和 Ubuntu 16.04 Python 3.5.2 OpenCV 3.4.0
【问题讨论】:
-
通常启动一个单独的线程进行捕获可以获得更好的 FPS 结果。
-
此链接可能对您有所帮助pyimagesearch.com/2017/02/06/…
-
我已经检查了你提到的帖子。然而,这不是“真正的”FPS。它只显示您的计算机可以处理多少帧,而不是您的计算机可以显示多少帧。
标签: python opencv image-processing cv2