欢迎来到天天文库
浏览记录
ID:12701068
大小:316.32 KB
页数:19页
时间:2018-07-18
《视频处理接口概要设计方案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、视频处理接口概要设计基于嵌入式系统的智能安防系统V1.0编写:甘淼日期:2015-08-15检查:胡德昆日期:审核:日期:批准:日期:成都大学计算机学院1、系统概述本系统是基于嵌入式的智能安防分析系统,系统拓扑图如图1所示,接口利用高清监控摄像头获取视频数据,通过视频分析接口分析视频,并将异常发送至终端。视频采集层:本系统对摄像头图像的采集,主要是利用linux内核提供的usb设备的编程框架v4l2。通过v4l2可以简单方便的打开usb和板载摄像头,以及对摄像头属性、格式的设定。视频分析层:本接口自动将传入的各种视频原始数据(YUV420、YUV422)转换成视频分析所需要的视频格
2、式(RGB24),再通过分析RGB24视频流来发现异常(摄像头干扰、物体闯入、陌生人员等)。报警应用层:若系统检测出异常,则使用报警应用层将异常信息推送至报警设备,报警设备可以是电脑端、手机端、平板端以及其它报警设备,报警应用层负责对报警设备的管理或者对报警信息的推送等等。Main管理层:对视频采集模块、视频分析模块以及报警模块做统一管理。通过调用视频采集模块获取视频流,并将视频流传入视频分析接口,若接口返回异常,则调用报警模块。图1系统拓扑图2、系统结构本系统主要分为三层结构,视频采集层、视频分析接口层以及报警层。实现的功能模块有视频采集、视频格式转换、摄像头干扰检测、人脸检测与
3、识别以及物品出入检测。功能结构图如图2所示:图2系统功能结构图系统通过高清摄像头来获取实时监控视频,由于获取的视频帧格式YUV420和YUV422格式,所以系统会先将视频格式转换至视频分析算法需要的RGB24格式,分析接口层负责分析视频信息,如若分析接口分析出异常,则调用报警模块来管理报警设备或者发送报警信息,接收报警信息的设备为远程终端或者本地报警设备。①采集设备:系统暂定为ARM自带的板载摄像头或者外接的USB摄像头,系统可以采集这两种设备视频信息,若要使用其它类别的摄像头,比如网络摄像头等等,则需要重新设计编码采集模块。②采集模块:系统通过调用Linux内核提供的IO通道管理
4、接口V4L2来获取实时视频,因为V4L2管理USB摄像头和板载摄像头采用的是相同的管理方式,所以本系统同时对者两种设备兼容。③格式转换模块:系统获取到的视频为YUV420和YUV422格式,本模块负责将YUV格式的视频转换成RGB格式的视频。④干扰检测模块:通过设计的干扰检测算法来分析实时视频,如若分析出摄像头受到遮挡或者干扰,返回干扰异常。⑤人脸检测模块:通过训练好的人脸模型,来对实时视频帧做遍历检测,若找到人脸,则返回人脸轮廓。⑥人脸识别模块:若人脸检测模块找到人脸轮廓,则本模块负责分割人脸图像,然后与训练好的人脸作比对,返回相应的人名。若人脸检测模块未找到人脸,则本模块不做处
5、理。⑦物品检测模块(待定):通过相应的物品检测算法来分析实时视频帧,若检测到物品出入,则返回异常,若未检测到物品出入,则返回正常。⑧报警模块:报警模块负责接收相应的报警状态,然后做出相应的报警操作,报警操作主要包括对本地报警设备的管理,和发送报警信息至远程终端。⑨报警设备:报警设备可以是本地设备(蜂鸣器、显示器等),也可以是远程终端(PC机、手机、平板电脑等)。3、模块分析3.1视频采集模块3.1.1模块功能视频采集模块主要通过linux提供的V4L接口来管理摄像头,模块主要功能有摄像头的打开、初始化、帧提取以及关闭摄像头,模块流程如图3所示:图3采集流程V4L利用open函数打开
6、设备文件并获取设备文件标识符,然后通过接口函数ioctl和文件标识符来管理IO通道,达到初始化摄像头的目的。由于申请到的缓存属于内核存储区,所以需要用mmap函数将内核存储区映射到用户存储区。V4L关闭摄像头,就是利用ioctl来关闭视频流,用close函数关闭设备文件,从而达到对关闭摄像头所做的善后处理。3.1.2模块接口函数⑴打开摄像头接口函数:boolopenCam(char*device);函数功能:打开摄像头的设备文件,获取到摄像头的设备ID,成功返回true,失败返回false。函数介绍:1)device:为摄像头设备文件的路径,由接口外部传入接口。2)vfd:获取到的
7、设备文件标识符。3)O_RDWR:以读写方式打开文件。⑵摄像头初始化接口函数:voidcamInit();函数功能:查询摄像头支持的所有格式、设置帧格式、申请帧缓存、将缓存映射到用户存储区、打开视频流。函数介绍:1)intioctl(intfd,intcmd,…);fd:文件标识符cmd:VIDIOC_RECBUFS分配内存VIDIOC_QUERYBUF把VIDIOC_RECBUFS中分配的内存转换成物理地址VIDIOC_ENUM_FMT查询当前驱动支持的视频格式VI
此文档下载收益归作者所有