python - cv2.VideoCapture 帧速率的差异取决于初始化参数

标签 python linux opencv

在 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/

相关文章:

python - 使用 itemAt 从 QFormLayout 中的 QLineEdit 获取文本

c++ - 从 malloc() 进行的 Windows 和 Linux native 操作系统/系统调用是什么?

linux - Linux 内核 header 中的错误

python - Opencv cornerHarris错误

python - 我怎样才能让不同的客户端每次加载唯一的行(不重叠),而不进行用户登录 session ?

python - 异步比同步慢

Python变量解析

Linux - 按添加日期执行目录中的所有 Bash 脚本

python - Python 和 Julia 中的 OpenCV、DMatch 对象不匹配

c++ - 你能把库放在命名空间里吗?