摄像头无法打开的问题,现在一直没有解决。开学了,上课了,时间
有点紧张。先说一下,一些尝试把。
问题是:算法运行后但是没有打开 摄像头设备,算法打印出“capture device failed to open! ”
经过几天的摸索,猜测可能是这么回事了:
无法打开摄像头设备,是由于交叉编译opencv时没有把ffmpeg交叉编译上。
有两种解决办法:(1)把ffmpeg交叉编译上
(2)在ok6410上利用Video for Linux接口,对摄像头数据进行采集
这里,我采用第一种解决方法:
(1)下载ffmpeg源码:ffmpeg-0.7.11.tar.bz2
(2)配置:./configure --cpu=libavcodec/arm/ --cc=arm-linux-gcc --enable-shared --enable-cross-compile --arch=libavcodec/arm/ --target-os=linux --disable-ffserver --enable-libxvid --enable-libx264 --enable-gpl --enable-pthreads --disable-stripping
(3)make,make install 安装到交叉编译工具链的lib下
尝试重新编译opencv2.2,#cmake-gui & 后发现没有WITH_ffmpeg选项,自己在CMakeCache.txt中自己加上
with_ffmpeg,开始按照上次的方法编译,install到工具链下,在编译tld算法,没有报错。
可是,将run_tld放到开发板测试,错误还是一样——capture device failed to open!。
都快三周了,郁闷阿,求大神。。。。
ps:同时,还了解到一个情况,由于ok6410上没有gtk的库,因此对opencv中的highgui时不支持的,
所以,无法显示图像的。解决这个问题,或者移植gtk(据传,比较困难),或者自己利用QT图像库,
实现显示的功能。这个估计会面会涉及到,mark下。