【问题标题】:Why is Python OpenCV camera read in Ubuntu slower than Windows?为什么在 Ubuntu 中读取 Python OpenCV 摄像头比 Windows 慢?
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-10-17
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    • 2011-03-17
    • 2016-11-20
    • 2017-02-11
    相关资源
    最近更新 更多