我在 OS X 上使用 openCV 和外部网络摄像头 (Microsoft Cinema HD Lifecam),即使使用最简单的相机读出代码,其性能也非常低。
import cv2
cap = cv2.VideoCapture(1)
while(cap.isOpened()):
ret, frame = cap.read()
cv2.imshow("Output", frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
我在 Photo Booth 上尝试了相同的网络摄像头,它在高 FPS 下运行良好。另外,我用 Mac 的内置 Facetime 摄像头尝试了相同的代码,效果非常快。所以,我在 OpenCV 中似乎遇到了某种配置问题。
有人经历过这样的事情吗? 感谢您的回答。
最佳答案
看来我可以解决我的问题了。 我只需要降低相机的分辨率。
cap = cv2.VideoCapture(0)
cap.set(3,640)
cap.set(4,480)
我认为 Photo Booth 自动设置分辨率是为了提高速度或读数,但是,必须在 OpenCV 中手动设置。不确定这个解释的正确性。
关于python - OpenCV + OS X + 外部网络摄像头 = 非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41798710/