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