某些平台下opencv不能直接直接支持摄像头获取图片或视频,这是需要使用v4l2(video for linux 2)
测试v4l2是否可以读到摄像头的内容,最简单的办法就是读取一张截图。
v4l2grab使用v4l2获取摄像头的截图一个单文件c程序,源自http://www.twam.info/linux/v4l2grab-grabbing-jpegs-from-v4l2-devices
输出是jpeg格式的图片,依赖于libjpeg库,去http://www.ijg.org/下载libjpeg源代码,自己编译。
compile libjpeg
1.tar
2../configure
3.make
4.make install
compile v4l2grab
gcc v4l2grab.c -o v4l2grab -Wall -ljpeg -DIO_READ -DIO_MMAP -DIO_USERPTR
grab a jpeg using v4l2grab
./v4l2grab -o image.jpg