我有一个非常简单的代码来查看来自网络摄像头(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
答案 0 :(得分:0)
问题在于我如何安装OpenCV框架。在Ubuntu中,我使用Pip安装OpenCV,这会导致性能下降。我不使用Pip,而是从源代码构建OpenCV,从而将性能提高到与Windows相同。