Linux 通过调用opencv的VideoCapture去取摄像头图像出现select timeout?

来源:互联网 发布:数据库原理与应用 pdf 编辑:程序博客网 时间:2024/06/01 15:59

linux下通过opencv调用相机出现select timeout错误?

     1)有可能是相机(尤其是USB2.0相机)插在2.0接口上时,端口供电能力不足。

     2)如果排查了其他问题还没有解决,可以看看有没有这个端口的问题。    

          V4L2的select函数的最后一个参数是timeout,timeout是用来设置超时时间的,设置了timeout以后,如果select在没有文件描述符监视可用的情况下,会等待这个timeout,超过这时间select就会返回错误。

当遇到select timeout错误的时候,不能只考虑调大timeout的时间,实际上这是治标不治本,timeout不可能调的很大,调大一点又没什么用,肯定还是有别的传输阻塞之类的问题。

          我是使用的USB接口是2.0,这个问题在Linux下会出现,在Windows下不会出现select timeout。

USB2.0相机的传输和供电是做在一起的,因此不是很稳定,当数据传输和供电之间可能会相互影响,关于这个怎么影响的我搞不清楚,但是这个问题不妨作为一个额外的检查思路吧

阅读全文
0 0