v4l与Qt做图像采集。主要写了两文件,第一个v4l.h,第二个就应用程序testcv.cpp
本人水平有限,代码不完善地方希望被指正。
v4l.h内容如下:
1 #ifndef _V4L_H_
2 #define _V4L_H_
3 #endif
4 #define DEFAULT_DEVICE
"/dev/video0"
//v4l默认设备名称。
5 #define VIDEO_MAXFRAME 2
6 #define TRUE 1
7 #define FALSE 0
8 #include
9 #include
10 #include
11 #include
12 #include
13 #include
14 #include
//v4l的头文件,里面有多种关键结构定义。
15 #include
16 #include
17 struct _v4l_struct
18
19 { int
fd;
20
struct video_capability capability;
21
struct video_picture picture;
22
struct video_mmap mmap;
23
struct video_mbuf mbuf;
24
unsigned char *map;
25
int frame_current;
26
int frame_using[VIDEO_MAXFRAME];
27 };
28
29 typedef struct _v4l_struct v4l_device;
30
31 int v4l_open (char
*,v4l_device
*);
//打开视频设备
32 int v4l_close (v4l_device
*);
//关闭视频设备
33 int v4l_get_capability
(v4l_device
*);
//获取设备关于结构体video_capability的信息.
34 int v4l_get_picture
(v4l_device
*);
//获取设备关于结构体video_picture的信息
35 int v4l_get_mbuf (v4l_device
*);