2)配置OV511驱动
返回主菜单,在进入“USB support———>”菜单选项,然后将USB OV5llcamera support设置为模块,即:
SUB suppor———>
<*>USB OV5llcamera support(NEW)
3)模块安装
执行以下命令安装视频输入模块:
insmod videodev.o
执行以下命令安装视频输入设备驱动模块:
insmod usbcore.o
insmod usb-ohci-s3c2410.ko
insmod ov511.o
由于使用的设备是USB接口的摄像头,所以在加载ov511.o模块前,需要加载USB内核驱动和主机控制器驱动。
2.2 利用Vide041inux实现图像采集
在安装了图像采集设备驱动后,只需要再编写一个对视频采集的应用程序就可以采集视频图像。在Linux系统中,视频文件是设备文件,可以像访问普通文件一样对其进行读写,摄像头文件一般是/dev/v4l/video。在进行视频捕捉之前,需要做一些必要的设置工作。这些设置涉及到如下结构:
struct video_picture
{
_u1 6 brightness;//亮度
_u16 hue;
_u16 Colour;
_u16 contrast;//对比度
_u16 whiteness;//黑色和白色
_u16 depth;//颜色深度
_u16 palette;//调色板
};
Strct video_windowr
{
_u32 x,y;//窗体位置
_u32 width,height;//窗体尺寸
_u32 chromakey;
_u32 flags;
Struct video_clip_user*clips;
Int clipeount:
define VIDEO_WINDOW_INTERLACE 1
define VIDEO_WINDOW_CHROMAKEY 16
define VIDEO_CLIP_BITMAP-l
define VIDEO_CLIPMAP_SIZE(128*625)
};
struct video_capture
{
_u32 x,y;//图像偏移
_u32 width,height;//捕捉区域
_u16 decimation;//采集间隔
_u16 flags;//采集标志
define VIDEO_CAPTUREl_ODD O
define VIDEO_CAPTURE_EVEN 1
};
V4L下视频采集编程首先要打开视频设备:
Int fd=open(“/dev/v4l/video”,O_RDONLY);
If(fd<O)return-l;
接着对摄像头参数进行设置。一般是先通过I/O控制命令读取设备信息,然后对特定项进行修改,最后通过I/O控制命令保存到内核中。由于篇幅有限源程序不再赘述。