我有一个非常简单的代码,可以从网络摄像头(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帧。然而,当我在Ubuntu上运行时,我只收到10fps。在
我试过cap.set(cv2.cv.CV_CAP_PROP_FPS, 30),但没用。在
有人经历过同样的情况吗?这个问题有什么解决办法吗?在
我在运行Windows10和Ubuntu16.04
Python 3.5.2版
OpenCV 3.4.0版