在 Linux 上使用 OpenCV 3.4.3 cv2.VideoCapture(0) 时,捕获实例是使用设备索引创建的:
cap = cv2.VideoCapture(0)
我注意到帧速率似乎不是很好,经过一段时间的尝试,我修改了它以使用设备路径:
cap = cv2.VideoCapture('/dev/video0')
更改后,帧率似乎更高。我还没有查看 OpenCV 的源代码(还)来确定这两种用途之间的本质区别是什么,但想知道是否有对它们的描述,其中帧速率可能会受到影响。关于可能在一种情况下与另一种情况下使用的访问方法(v4l2 等)的细节会有所帮助。
最佳答案
来自docs它看起来像在第一个中你传递给它一个设备 ID 而在第二个中你给它一个文件名。它可能能够在文件中缓冲更多帧,因此帧率更高。
关于python - cv2.VideoCapture 帧速率的差异取决于初始化参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53877371/