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