为什么Python OpenCV相机在Ubuntu中的读取速度比Windows慢?

时间:2018-06-07 10:08:04

标签: python opencv image-processing cv2

我有一个非常简单的代码来查看来自网络摄像头(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

1 个答案:

答案 0 :(得分:0)

问题在于我如何安装OpenCV框架。在Ubuntu中,我使用Pip安装OpenCV,这会导致性能下降。我不使用Pip,而是从源代码构建OpenCV,从而将性能提高到与Windows相同。