为什么 Python OpenCV 相机在 Ubuntu 中的读取速度比 Windows 慢?
Why is Python OpenCV camera read in Ubuntu slower than Windows?
我有一个非常简单的代码来查看来自网络摄像头 (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
问题在于我如何安装OpenCV框架。在 Ubuntu 中,我使用 Pip 安装了导致性能较差的 OpenCV。我没有使用 Pip,而是从源代码构建 OpenCV,将性能提高到与 Windows.
中相同的性能
我有一个非常简单的代码来查看来自网络摄像头 (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
问题在于我如何安装OpenCV框架。在 Ubuntu 中,我使用 Pip 安装了导致性能较差的 OpenCV。我没有使用 Pip,而是从源代码构建 OpenCV,将性能提高到与 Windows.
中相同的性能