前几日给项目在写视频聊天的功能的时候遇到了一个很是奇怪的问题.我是在Backtrack5 也就是(ubuntu10.04)下使用Qt+openCV采集摄像头数据然后编码传输的.刚开始编译完openCV2.3之后是没有问题的,能正常的采集到摄像头数据.但是很奇怪的事情是,当我重启机子之后切换到另外一个系统(windows的系统)之后,再过一段时间再重启,切换回Backtrack5.这个时候我之前写的程序就不能运行了.
期间我除了切换了一次系统,其他什么操作都没有作过,就是一个Backtrack5->win7->Backtrack5这么一个过程我的程序就没有办法运行了,跟踪一看,发现是在这句
IplImage *cvimage = cvQueryFrame(camera);
并没有捕获到数据,
cvimage变成了野指针,之后在使用cvimage的时候便错了
最开始我以为是摄像头的问题没有捕获到数据,换了一个新的,问题依旧.
然后我怀疑是不是USB驱动的问题,但是我插上U盘的时候运行完好....
在命令行下输入lsusb能发现摄像头,但是ls /dev/video0 却显示文件不存在.....这样让我很是怀疑摄像头的

在Ubuntu系统中,作者遇到一个棘手的问题:使用Qt+OpenCV进行视频聊天功能开发时,摄像头无法正常工作。问题表现为重启并切换到Windows系统后再返回Ubuntu,程序无法运行,`ls /dev/video0`显示文件不存在。尝试更换摄像头和检查USB驱动无果。最终,通过在Windows下打开摄像头再切换回Ubuntu,问题得到解决。然而,这个问题的原理仍然不明,网络上的讨论也没有明确答案。
最低0.47元/天 解锁文章
4914

被折叠的 条评论
为什么被折叠?



