某些平臺下opencv不能直接直接支持攝像頭獲取圖片或視頻,這是須要使用v4l2(video for linux 2)linux
測試v4l2是否能夠讀到攝像頭的內容,最簡單的辦法就是讀取一張截圖。ide
v4l2grab使用v4l2獲取攝像頭的截圖一個單文件c程序,源自http://www.twam.info/linux/v4l2grab-grabbing-jpegs-from-v4l2-devices測試
輸出是jpeg格式的圖片,依賴於libjpeg庫,去http://www.ijg.org/下載libjpeg源代碼,本身編譯。spa
compile libjpeg視頻
1.tar圖片
2../configureget
3.make編譯
4.make installopencv
compile v4l2grabgcc
gcc v4l2grab.c -o v4l2grab -Wall -ljpeg -DIO_READ -DIO_MMAP -DIO_USERPTR
grab a jpeg using v4l2grab
./v4l2grab -o image.jpg