基于arm的视频图像采集系统
- 格式:doc
- 大小:459.00 KB
- 文档页数:11
基于ARM Cortex-A53的图像处理系统研究摘要:随着科技的不断进步,数字图像处理的应用已经普及到千家万户,使人们的生活变得越来越便捷。
早期实现的图像处理系统均是基于桌面PC机,而其图像处理系统存在较多约束,主要依赖于软件操作,且便携性较差。
本文采用基于Cortex-A53架构的S5P6818处理器以及Linux实时操作系统,构建实时图像处理系统,该系统能够进行实时图像采集、图像处理以及运动目标检测与跟踪等功能,同时可以实现联网,易于携带。
论文在图像处理系统及图像处理算法方面的研究工作如下:(1)根据系统功能以及开发成本的需求,对各硬件模块选型。
系统以X6818bv3开发板为核心连接外围硬件模块,构建系统硬件平台。
(2)图像处理系统移植了uboot、Linux操作系统、根文件系统以及视频服务器等软件,建立了系统运行软件平台,保证系统应用程序的正常执行,实现图像采集和图像处理的功能。
(3)图像处理系统的应用程序可分为图像采集和图像处理两部分。
在Qt Creator 集成开发环境中编写图形界面程序,实现视频图像显示、jpeg图像保存、图像增强以及边缘检测等功能,并且增添了远程监控功能。
(4)本文针对传统的ViBe算法在前景检测过程中存在光照变化敏感以及检测率较低等问题,提出了基于ViBe算法的改进算法,并选取样本进行对比,算法在视频图像运动目标的检测过程中能够有效解决检测率低的问题,且对不同的光照强度具有较好的抑制性。
图像处理系统包括软硬件平台的搭建以及应用程序的设计。
论文的研究内容为基于ARM图像处理系统平台的搭建及其应用奠定了坚实的理论和技术基础。
图41幅,表1个,参考文献64篇。
关键词:数字图像处理;Cortex-A53;Linux;Qt中图分类号:TP391Research on Image Processing SystemBased on ARM Cortex-A53Abstract:With the constant progress of science and technology, the application of digital image processing has been widely used in thousands of households, making people's life more and more convenient. The early implementation of image processing system is based on desktop PC, but there are many constraints in PC-based processing system, which mainly depend on software operation, and the portability is poor.This paper uses S5P6818 processor based on Cortex-A53 architecture and Linux real-time operating system to construct a real-time image processing system. The system can perform real-time image acquisition, image processing, moving object detection and tracking, and so on. At the same time, network processing can be realized and it is easy to carry. The research work on image processing system and image processing algorithm is as follows:(1)According to the requirement of system function and development cost, each hardware module is selected. The system takes the X6818bv3 development board as the core to connect the peripheral hardware module, and constructs the system hardware platform.(2)The image processing system transplants software such as uboot, Linux operating system, root file system and video server, and establishes a system running software platform to ensure the normal execution of the system application and realize the functions of image acquisition and image processing.(3)The application program of image processing system is divided into two parts: image acquisition and image processing. The graphic interface program is written in Qt Creator integrated development environment to realize video image display, image saving in jpeg format, image enhancement and edge detection, etc. and the remote monitoring function is added.(4)Aiming at the problems of traditional ViBe algorithm in foreground detection, such as sensitivity to illumination change and low detection rate, an improved algorithm based on ViBe algorithm is proposed in this paper, and samples are selected for comparison. The algorithm can effectively solve the problem of low detection rate in the process of moving object detection in video images. The algorithm has high real-time performance and has better inhibition to different illumination intensity.The image processing system includes the construction of software and hardware platform and the design of application program. The research content of this paper lays a solid theoretical and technical foundation for the establishment and application of ARM-based image processing system platform. There are 41 graphs, 1 table and 64 references.Meng-long Huang (Electrical Engineering)Directed by Yun-hong Li Key words: Digital image processing, Cortex-A53, Linux, QtClassification: TP391目次1绪论 (1)1.1研究背景及意义 (1)1.2国内外研究现状及发展趋势 (1)1.3论文章节结构 (3)2系统总体设计 (5)2.1系统功能分析 (5)2.2系统整体开发流程 (5)2.3系统硬件选型 (6)2.4系统软件选型 (7)2.4.1嵌入式操作系统的选择 (7)2.4.2引导加载程序的选择 (8)2.5本章小结 (8)3系统硬件平台搭建 (9)3.1 X6818bv3开发板简介 (9)3.2 X6818bv3开发板硬件资源 (10)3.3系统外围电路 (11)3.3.1电源管理模块 (11)3.3.2串口电路 (11)3.3.3 SD卡模块 (11)3.3.4 USB接口电路 (12)3.3.5 LCD液晶屏与触摸屏接口 (13)3.4摄像头选型 (13)3.5本章小结 (14)4运动目标的检测与跟踪 (15)4.1预处理 (15)4.2运动检测 (15)4.2.1 ViBe背景建模方法 (15)4.2.2 ViBe算法的改进 (17)4.2.3前景检测后处理 (18)4.3运动目标跟踪 (19)4.4运动动态模型 (19)4.5卡尔曼滤波跟踪 (20)4.6本章小结 (22)5系统软件平台搭建与应用程序设计 (23)5.1系统软件平台搭建流程 (23)5.2 tftp及ckermit安装配置 (23)5.3构建交叉编译环境 (24)5.4 uboot移植 (25)5.5 Linux内核配置与移植 (26)5.6根文件系统制作与nfs服务器搭建 (27)5.7 Qt的安装与移植 (29)5.7.1宿主机Qt的安装 (29)5.7.2 ARM版本Qt的编译与移植 (29)5.8 OpenCV函数库移植 (31)5.9 mjpg-streamer视频服务器移植 (32)5.9.1 mjpg-streamer简介 (32)5.9.2视频服务器与客户端的通信 (33)5.9.3 mjpg-streamer移植 (34)5.10系统应用程序设计 (35)5.10.1应用程序总体框架设计 (35)5.10.2主窗口设计 (35)5.10.3 Qt多线程编程 (37)5.10.4视频图像显示 (39)5.10.5视频图像的保存 (41)5.11图像处理的实现 (42)5.11.1图像灰度化 (43)5.11.2图像二值化处理 (43)5.11.3图像平滑 (43)5.11.4图像增强 (44)5.11.5图像的边缘检测 (45)5.12宿主机应用程序测试 (46)5.13本章小结 (47)6系统测试 (49)6.1系统自启动 (49)6.2视频图像采集测试 (50)6.3图像处理算法测试 (50)6.4本章小结 (52)7总结与展望 (53)7.1总结 (53)7.2展望 (53)参考文献 (55)作者攻读学位期间发表学术论文清单 (59)致谢 (61)1 绪论1绪论1.1研究背景及意义数字图像处理技术经历了百年的发展,其理论和方法已经形成了完整的体系,数字图像处理系统包括图像信号的采集、数字图像处理、图像压缩等部分,并且在科学研究及社会生活等众多领域得到了越来越广泛的应用[1],因此对数字图像处理系统的研究有着重要的现实意义以及很高的应用价值。
学校代号***** 学号********** 分类号TP18 密级公开硕士学位论文基于ARM9的图像采集系统的研究学位申请人姓名刘白皓培养单位长沙理工大学导师姓名及职称黄敏副教授学科专业通信与信息系统研究方向嵌入式系统论文提交日期2011年3月学校代号:10536学号:0810801515密级:公开长沙理工大学硕士学位论文基于ARM9的图像采集系统的研究学位申请人姓名刘白皓导师姓名及职称黄敏副教授培养单位长沙理工大学专业名称通信与信息系统论文提交日期2011年3月论文答辩日期2011年5月答辩委员会主席车生兵教授The Design of Image Acquisition System Based on ARM9ByLIU BaihaoB.E.( Anhui University of Architecture) 2008A thesis submitted in partial satisfaction of theRequirements for the degree ofMaster of EngineeringinCommunication and Information SysteminChangsha University of Science & TechnologySupervisorProfessor Huang MinMarch, 2011长沙理工大学学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
基于ARM的仓库视频监控系统的设计和实现作者:韩君来源:《现代电子技术》2008年第24期摘要:设计一种基于Intel PXA255的ARM+Linux组成的仓库视频监控系统,该系统通过以太网实现对仓库现场情景的监控。
首先介绍了基于ARM的仓库视频监控的优势,其次介绍硬件平台,并给出视频监控的具体实现方案,最后重点介绍如何实现在PXA255和PC监控机间图像的采集和传输。
该系统运行稳定,PC监控机能准确地接收采集到的图像。
这里将ARM 与USB摄像头的视频监控结合起来并应用于仓库的安防中,系统价格便宜,工作稳定。
关键词:ARM PXA255;Linux;视频监控;图像采集中图分类号:TP277文献标识码:B文章编号:1004-373X(2008)24-043-02Design and Realization of Storehouse Video Monitoring System Based on ARMHAN Jun(Zhejiang International Maritime College,Zhoushan,316021,China)Abstract:A storehouse video monitoring system composed by ARM+Linux based on the Intel PXA255 has been designed.Storehouse scene monitoring is realized through Ethernet.At first,this paper introduces the superiority of storehouse video monitoring based on ARM.Then,it introduces the hardware platform,offers the realization plan of video monitoring in detail.Finally,this paper emphases on how to realize the gathering and transmission of image between PXA255 and PC monitoring machine.This system operates well,and the PC monitor could receive the image gathered ing ARM and the USB camera video monitoring and applying in the storehouse guards against peacefully,the price of system is cheap and the work is stable.Keywords:ARM;PXA255;Linux;video monitoring;image acquisition传统的监控系统是将其前端设备与中心端设备用电缆简单的进行连接,或者利用传统无线通道传输。
基于嵌入式ARM的图像采集处理系统设计摘要随着现代制造工业中微细加工技术的不断发展,对微细零件表面形貌测量的要求越来越高,具有较高横向及纵向分辨率的激光并行共焦显微系统可以突破光学衍射的极限要求,对物体表面进行无损检测及三维形貌重构。
为了进一步实现光学系统的便携化、智能化需求,具有体积小、成本低、专用性强等一系列独特优点的嵌入式系统,无疑有着极好的应用前景。
本文主要研制了一种基于ARM的便携式图像采集处理系统。
论文主要以硬件设计和软件设计两大部分完成对系统的论述:硬件设计中,通过分析实际图像采集需求后总结设计的主要性能指标,确定了采集系统的主要控制平台和图像传感芯片,给出了总体的硬件设计方案,并在此基础上完成了SCCB控制模块、图像数据捕获模块、串口调试模块等硬件接口模块的设计;软件设计中,完成了CMOS 的驱动程序、图像数据采集的驱动程序、Bayer图像数据转换算法等软件设计工作,最后论述了静态图像采集系统相关调试、实验工作,结果表明此嵌入式图像采集系统基本达到预期目标,证明了设计的合理性和正确性。
本系统一定程度上提高了低功耗微控制器图像采集的效率,将图像采集系统对硬件的依赖转化为设计人员的软件设计工作,相对于传统PC机+CCD的方案,不仅在体积、成本上具有明显优势,更体现出良好的柔性,便于今后的维护、优化。
关键词:ARM,LPC2478,图像采集,便携式第一章绪论 (3)1.1 课题的研究背景 (3)1.1.1 并行共焦显微系统概述 ............................................... 错误!未定义书签。
1.1.2 嵌入式系统概述 (4)1.1.3 嵌入式图像采集系统概述 (5)1.2 课题研究的目的和意义 .......................................................... 错误!未定义书签。
1.3 课题研究的主要内容及组织结构 (7)第二章系统硬件电路设计 (8)2.1 系统核心器件概述 (8)2.1.1 基于ARM7TDMI的LPC2478开发板 (8)2.1.2 OV7620图像传感器 (11)2.2 图像采集系统硬件总体架构.................................................. 错误!未定义书签。
STM32和OV2640的嵌入式图像采集系统设计引言随着电子产品向低功耗、低价格、智能化的方向发展,利用视频传感器采集图像成为研究热点,如可视门铃、安全监控[1]、赛车自动循迹[23]、烟叶图像采集[4]、草本叶子图像采集[5]等。
本文根据在线采集、分析、存储图像的需求,设计了嵌入式图像采集系统,运用嵌入式芯片STM32对图像信息进行采集、显示和存储。
1系统结构与功能图像采集系统以基于ARM公司的CortexM3内核的STM32F103RBT6(以下简称STM32)处理器为,配合OV2640摄像头和TFT液晶显示器,是一款采集像素多、实时性好且成本低廉的图像采集系统。
系统的硬件结构框图如图1所示,系统通过JLink口实现程序在STM32上的仿真、在线调试,利用JLINK仿真编程器将编译之后的二进制文件烧写到Flash中,系统每次上电时便可从Flash启动文件系统,图像采集系统采用OV2640摄像头模块,输出显示采用2.4英寸TFT液晶显示屏,可将采集到的数据保存在SD卡中。
当存储按键按下时,系统接收中断,同时将从OV2640摄像头采集到的数据显示在液晶显示屏上2硬件设计2.1CPU处理器本系统用的是32位的CortexM3内核的STM32芯片STM32F103RBT6,支持Thumb2指令集,STM32F103RBT6内部的Flash有128K,SRAM大小为20K,有64个增强I/O口、2个USART、2个12位的A/D转换器[6]。
它的供电电压为2.0~3.6V,拥有省电模式,可以保证低功耗需求。
CPU 主频可以达到72MHz。
2.2OV2640摄像头OV2640具有体积小、工作电压低、兼容I2C总线接口等特点。
通过SCCB总线控制,支持RawRGB、RGB(GRB4:2:2、RGB565/555/444)、YUV(4:2:2)和YCbCr(4:2:2)输出格式,可以输出整帧、二次转换分辨率、取特定区域等方式的各种分辨率的8位或10位的图像帧数据,UXGA (1632×1232)图像达到15fps。
基于ARM和Linux的网络视频采集传输方案的设计和实现刘宇;车进【摘要】针对现有的视频采集设备占用较多空间,而且需要使用专用资源的情况,设计了一个基于嵌入式的网络视频采集传输方案.该方案采用ARM11为核心处理器,嵌入式Linux为软件平台,搭建嵌入式平台.将视频服务器MJPG-streamer移植到该嵌入式平台,实现图像的采集、压缩和传输,使用者可在Web浏览器中观察到远端的实时视频画面.实验结果表明,该方法能够很好地采集、处理和发送视频,实现远程观察实时的视频画面,且设备占用空间较小.【期刊名称】《宁夏工程技术》【年(卷),期】2014(013)001【总页数】4页(P30-32,36)【关键词】嵌入式系统;Linux;MJPG-streamer;视频图像采集【作者】刘宇;车进【作者单位】宁夏大学物理电气信息学院,宁夏银川 750021;宁夏大学物理电气信息学院,宁夏银川 750021【正文语种】中文【中图分类】TN919.8;TP368.1在日常生活中,视频采集的应用场合很多,诸如门禁、安防、远程视频会议等.现有的视频采集设备,模块较多,在使用中要占用很多空间.因此,本文提出了一种基于B/S结构的嵌入式Linux的网络视频采集传输方案,该方案取代了以前占用空间较多的视频采集设备,而将图像采集、图像的压缩和编码以及网络传输集成到一个体积小、占用资源少的嵌入式系统中,通过远端的浏览器观察视频画面.1 总体设计本方案采用飞凌嵌入式公司出品的ARM11开发板TE6410作为硬件平台,Linux 操作系统作为软件平台,通过USB摄像头采集图像,然后利用MJPG-streamer 视频流服务器及其相关插件获取、处理图像[1],并通过网络发送到用户平台,用户可以通过浏览器查看视频.方案整体结构见图1.图1 方案整体结构图2 方案硬件设计本方案主要采用ARM11开发板TE6410、USB摄像头和一台计算机.TE6410开发板搭载了三星公司出品的s3c6410核心板,主频高达533MHz,配有256 MB的DDR内存和4GB的NAND FLASH.TE6410开发板有3个串口,一个LCD扩展口,一个100 M网口.它标配的USB Host插口和USB Slave插口均为2.0标准,采用8位拨码开关选择不同的启动方式.外部扩展端口包括一个SD卡槽,一个Wi-Fi扩展接口,以及摄像头接口和J-TAG接口等.USB摄像头采用罗技公司的C270网络摄像头.采用一台运行Ubuntu12.10操作系统的计算机作为用户平台.方案硬件结构见图2.图2 方案硬件结构图3 方案软件设计本方案软件设计主要包括U-Boot,Linux内核,rootfs.yaffs2,MJPG-streamer 软件的修改和移植[2].方案软件框图见图3.U-Boot是在操作系统运行之前运行的一段小程序,用来完成硬件设备的初始化,从而将系统软硬件环境带到合适状态,为最终调用操作系统做好准备.编译好的U-Boot可以在TE6410开发板附带的光盘里找到.Linux内核采用3.0.1版本,该版本的内核包含USB摄像头的驱动和V4L2驱动框架[3].当内核烧写到开发板中,插上USB摄像头便自动识别.本方案采用rootfs.yaffs2作为TE6410的文件系统.rootfs.yaffs2是一个专门为NAND FLASH存储器设计的嵌入式文件系统,适用于大容量的存储设备,而且它是开源软件,所以采用rootfs.yaffs2作为文件系统[4].MJPG-streamer是一个开源项目,通过支持Linux-UVC的网络摄像头采集JPEG 图像,并且将采集到的图像流式传输成为M-JPEG视频流,通过网络传输给浏览器.它是一个可移植的Linux-UVC流媒体应用.之前,国外的嵌入式爱好者将MJPG-streamer项目移植到了Mini2440平台,并设立了一个名为mjpg-streamer-mini2440的开源项目.基于TE6410开发板,笔者在mjpg-streamer-mini2440开源项目的基础上进行拓展,使之能够移植到TE6410开发板上正常使用.图3 方案软件框图3.1 交叉开发环境的搭建TE6410开发板采用U-Boot作为引导程序、嵌入式Linux系统镜像(版本号为3.0.1)和rootfs.yaffs2文件系统.将这3个文件从开发板附带的光盘里复制到SD 卡中,SD卡插入开发板的SD卡槽,开发板设置为SD卡启动模式,启动开发板一键安装嵌入式Linux系统.交叉开发环境需要Linux桌面系统,选用Ubuntu12.10.首先在计算机安装VMware8.0虚拟机,在虚拟机中安装Ubuntu12.10;再在Uubuntu12.10中安装交叉编译工具链Arm-Linux-Gcc-4.3.2;之后使用VMware8.0自带的VMware-Tools实现虚拟机和主机的文件共享;最后将虚拟机设置为桥接方式使之能够上网,并将虚拟机和开发板设为同一网段后使用ping命令将虚拟机和开发板连通.3.2 MJPG-streamer移植过程将MJPG-streamer视频流服务器移植到TE6410开发板上运行,从而实现图像采集和网络传输,具体移植过程如下:(1)下载mjpg-streamer-mini2440项目源代码:mjpg-streamer-mini2440-read only,并放在ubuntu的一个文件夹中(比如/mnt/webcamera文件夹). (2)进入 webcamera文件夹中,用 VI编辑start_uvc_yuv.sh 的内容[5]:执行以下命令进行编译链接并打包[6]:在当前目录下会生成mjpg-streamermini2440-bin.tar.gz.经过以上步骤,已将参数配置成适合TE6410开发板和USB摄像头的环境,将它复制到SD卡中.(4)在TE6410开发板上安装MJPG-streamer.将SD卡插入开发板的SD卡槽里,在开发板的终端输入以下命令安装MJPG-streamer:3.3 M-JPEG压缩算法研究与实现M-JPEG视频编码格式,把运动的视频序列当作连续的静止图像来处理,该压缩方式单独完整地压缩每一帧,在编辑的过程中可随机存储每一帧,可进行精确到帧的编辑.其主要特点是基本不考虑视频流中不同帧之间的变化,只单独对某一帧进行压缩.M-JPEG单帧压缩算法为JPEG算法,即把一幅图像分成8×8的方阵之后进行离散余弦变换(DCT).离散余弦变换是将光强数据转换成频率数据,从而得知强度变化情况.因为人类视觉系统对图像的低频成分比对高频成分有更高的敏感度,因此如果对图像的高频成分进行量化,再还原成光强数据,尽管与原图像有些差异,但人眼难以分辨[7].JPEG压缩是有损压缩,损失的部分是人类视觉不容易觉察到的高频成分,节省大量需要处理的数据信息.以下就是JPEG所使用的二维DCT公式式中:f(i,j)为像素值,F(u,v)为变换系数,u,v为系数下标.在压缩时,将原始图像分成很多个8×8像素的图像数据块.之后,通过零均值化,将每个字节的值从0~255转为-128~+127,并以此作为离散余弦正变换FDCT(Forward DCT)的输入.FDCT将每个数据块的值换为64个DCT系数,第1个系数称为直流系数,而其余63个系数则称为交流系数.在解压缩时,经逆向IDCT(Inverse DCT)将64个DCT系数还原为8×8像素的数据块,然后组成完整图像[8].4 方案测试USB摄像头插入开发板的USB Host端口,开发板上电.首先,在超级终端下进入TE6410开发板,使用ping命令将虚拟机和开发板连通.之后,启动开发板上的服务器端.此时,MJPG-streamer启动,并且其输入组件通过USB摄像头采集JPEG 格式的图像,保存到内存中;网络服务器输出组件能够从内存中获取JPEG格式的图像,并将图像流式传输成为M-JPEG视频流,通过网络服务器发送给计算机.在虚拟机的Web浏览器中输入开发板IP地址发出访问请求,服务器收到访问请求后与客户端建立连接并将视频数据发送到客户端监听端口,用户可以在虚拟机的Web浏览器中观察到实时的视频画面.测试在Ubuntu12.10操作系统下完成,采集原始图像的格式为YUYV,分辨率为640×480,转换成JPEG格式图片的压缩率为0.8∶1.在此测试环境中,视频画面清晰、流畅,实时性好.本方案的测试对照结果见图4,图4a是开发板的液晶屏上显示的YUYV格式图像,图4b是用户平台的Web浏览器中显示的JPEG格式图像.图4 方案的测试对照结果5 结语本方案使用支持Linux-UVC的USB摄像头采集图像,采用飞凌公司出品的ARM11开发板TE6410和嵌入式Linux操作系统处理图像,通过移植MJPG-streamer视频流服务器,实现基于网络的视频采集传输.本方案是一种结构紧凑、占用空间很小的网络视频采集传输方案,不仅USB摄像头非常容易获得,而且充分利用现有的网络资源,不必使用额外的设备或资源.本嵌入式视频采集传输方案将在视频会议、交通监控等方面有很好的应用前景.参考文献:【相关文献】[1]杨宏,张志文.基于Web的嵌入式远程监控系统的研究与实现[J].计算机与数字工程,2012(10):70-72.[2]冯兴乐,王建建,张哲,等.基于嵌入式Linux的无线图像传输在车联网的应用[J].电视技术,2012(21):156-159.[3]于艳萍,朱晓智,王中训.基于ARM9和USB摄像头的网络视频采集系统设计[J].现代电子技术,2011(24):49-51.[4]陈毅辉,王存堂,钱帅杰,等.模糊智能控制在卷绕系统中的应用[J].机械设计与制造,2006(7):146-148.[5]庄严,王骁,汤建敏.嵌入式C/C++系统工程师实训教程[M].北京:清华大学出版社,2011.[6]韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社,2009.[7]祝宁,叶念渝.JPEG图像文件格式的分析及应用[J].电脑与信息技术,1999(3):21-24.[8]许刚,廖斌,李承毅.JPEG图像文件格式分析[J].计算机系统应用,1998(10):37-39.。
基于ARM11的视频采集与编码系统的设计摘要:基于嵌入式技术的无线视频监控以其灵活性、高集成性、便捷性等诸多优点必将取代传统的有线视频监控。
针对目前视频监控的实际需求,结合嵌入式技术、图像处理技术,设计并实现了一种可靠性高、成本低的嵌入式视频采集及编码系统。
它是视频监控的前端,是无线视频监控系统的一个子系统。
系统选用S3C6410微处理器作为核心板的控制器,采用USB接口的摄像头进行采集,利用S3C6410的硬件编解码模块进行H.264编码。
根据系统的功能要求,开发了zc301摄像头和MFC的设备驱动程序,并采用内存映射方式和双缓冲思想编写了基于V4L的视频采集程序。
探讨了H.264的编码特性和码流结构,利用MFC驱动中的API函数,开发了基于H.264算法的视频编码程序。
测试表明,设计的系统视频采集效率高、图像连续性好、运行稳定。
关键词:嵌入式系统;ARM11;S3C6410;视频采集;视频编码;H.264ABSTRACT:In the future, Wireless video monitoring system based on embedded technology, with many advantages such as flexibility, integration, convenience and so on, will replace existing wired video monitoring system inevitably. Aiming at actual demand of present video monitoring, this paper designs and realizes a reliable and cheap embedded video capturing and compression system, with the combination of embedded technology and image processing technology. This system is the front end of video monitoring and a subsystem of wireless video monitoring system. This system chooses S3C6410 as the kernel board's controller uses the camera with USB interface to capture pictures and encodes the video data using the codec of S3C6410. According to functional requirements of the system, device drivers of MFC and zc301 camera are developed, and video capturing application based on V4L using Memory Mapping and the idea of the double buffer are also developed. After a brief study on the feature and stream structure of H.264, video encoding application based on H.264 with the MFC driver’s API is completed. The test shows that this system has a high efficiency to capture video data, has good continuity for pictures and can run stably.KEY WORD:Embedded system; ARM11; S3C6410; Video capturing; Video encoding; H.264引言视频具有表达客观事物直观、生动、形象,信息丰富等优点,它在各行各业的应用日益受到人们的关注。
基于ARM9的远程视频监控系统的实现摘要:本文是基于实际情况而研究开发的一套嵌入式远程视频监控系统。
该系统采用嵌入式处理器作为控制平台,运用无线网络传输技术实现远程通信。
随着网络通信技术和多媒体视频技术的发展,嵌入式视频监控技术正向集成化、网络化和多媒体化方向发展,并且被广泛应用于各个领域。
本文是基于实际情况而研究开发的一套嵌入式远程视频监控系统。
该系统采用韩国三星公司的s3c2410高性价比嵌入式处理器作为控制平台,采用 ime6400视频编码芯片进行视频编解码,运用无线网络传输技术实现远程通信。
一、arm处理器介绍arm(advanced risc machines)处理器是由英国arm公司研发出来的一套处理器体系。
arm是微处理器行业的一家知名企业,设计了大量高性能、廉价、低能耗的risc处理器,开发了许多相关技术及软件。
其技术具有性能高、成本低和能耗省的特点,适用于多种领域,比如嵌入控制、消费/教育类多媒体、dsp和移动式应用等。
1、arm处理器特点arm处理器已经成功地广泛应用于无线通信、工业控制、消费类电子产品、网络产品等领域,并且保持持续增长的势头。
目前,基于arm 技术的微处理器应用约占据了32位risc 微处理器75%以上的市场份额。
采用risc架构的arm微处理器一般具有如下特点:(1)体积小、低功耗、低成本、高性能;(2)thumb(16位)/arm(32位)双指令集,能很好的兼容8位/16位器件;(3)用寄存器,指令执行速度更快;(4)数据操作都在寄存器中完成;(5)方式灵活简单,执行效率高;(6)长度固定。
2、arm处理器结构(1)risc体系结构传统的cisc(complex instruction set computer,复杂指令集计算机)结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂,然而,在cisc的指令集的各种指令中,其使用频率却相差悬殊,大约有20%的指令会被反复使用,占整个程序代码的80%,而余下的80%的指令却不经常使用,在程序设计中只占20%,显然,这种结构是不太合理的。
基于ARM的图像采集系统的硬件设计与实现刘永林;程耀瑜;梁莹;雷红淼【摘要】传统图像采集系统具有复杂、体积大、不便携带等缺点,而嵌入式图像采集系统集图像采集、显示、处理于一体,具有体积小、功耗低的优点.针对安防监控系统的需要,设计出一种基于ARM的图像采集系统.该系统以S3C2410(ARM9)为核心,利用USB摄像头、显示屏和存储器来构建图像采集和处理系统,并搭建必要的外围电路和通信接口,完成了硬件平台的设计.然后移植嵌入式操作系统和驱动程序,最终实现了图像数据的采集、显示和存储等功能,采集图像清晰,符合系统要求.【期刊名称】《电子测试》【年(卷),期】2011(000)006【总页数】4页(P12-15)【关键词】嵌入式;ARM;S3C2410;图像采集;USB摄像头【作者】刘永林;程耀瑜;梁莹;雷红淼【作者单位】中北大学山西省现代无损检测工程技术研究中心,山西太原030051;中北大学山西省现代无损检测工程技术研究中心,山西太原030051;中北大学山西省光电信息与仪器工程技术研究中心,山西太原030051;中北大学山西省现代无损检测工程技术研究中心,山西太原030051【正文语种】中文【中图分类】TP30 引言现代社会中,安全监测和防护系统在人们的生活、人身和财产安全等方面扮演着越来越重要的作用。
图像的获取和保存是现代安监防护系统最直接、最有效,同时也是最可靠的方式和手段。
俗话说“百闻不如一见”,图像往往含有大量的信息,远比语言和文字携带信息量大,而且一目了然,通俗易懂。
因此基于图像的安防系统是现代安防系统发展的趋势,被广泛地应用于社会生活中。
针对这种现状,本文设计出一种基于ARM处理器的嵌入式图像采集和存储系统,与传统PC图采集系统体积大、处理速度慢、不宜便携的缺点相比,本系统稳定可靠、轻小便携、成本低廉,且具有速度快、功耗低等优点,具有很强的现实意义和广泛的应用前景。
1 系统总体设计目前,对图像信息采集和处理主要有两种方式:一是利用CCD相机和图像采集卡,将模拟信号转换成数字信号,利用总线传送到上位机进行处理。
基于arm的视频图像采集系统摘要:本系统采用了Samsung公司生产的S3C2440芯片作为嵌入式处理器,再结合系统所需的外围硬件构成基本硬件电路。
主要包括二大部分:处理器和存储器部分;电源时钟复位电路部分;外围接口电路部分。
在对各部分硬件进行详细设计后,接下来详细介绍了嵌入式软件平台的构建,包括如何移植Linux操作系统:基于嵌入式Linux下USB接口摄像头视频设备采集;移植H.264视频压缩库和视频传输程序的编写。
1 抓拍系统开发环境的构建本文所设计的采集系统按功能可划分为嵌入式主控模块、视频采集模块、网络传输模块、等三大部分。
图1-1为本系统的系统框架图:1. USB数字摄像头采集图像数据:2.采集传输应用程序通过摄像头驱动从摄像头获取到采集的图像数据:3.采集传输应用程序调用H.264编码库对图像数据进行压缩:4.采集传输应用程序将压缩后的图像数据通过网络传输给windows PC上的显示程序:5. Windows上的显示程序对图像数据进行解码并显示:图1-1软件架构图本系统的嵌入式主控模块是基于Samsung公司生产的S3C2440这款处理器,主要作用是实现对各模块数据的响应、处理以及控制。
在硬件上,主控模块包括电源、时钟、复位电路、存储模块、以太网接口电路等。
在软件上,主控模块上运行Linux操作系统,管理各应用程序模块进程并调度各进程。
1.1采集系统的硬件平台设计本系统的核心处理器为二星公司的S3C2440,外扩64M的SDRAM存储器以及64M 的FLASH存储器,外围接口电路模块:包括USB接口电路,以太网网卡DM9000接口电路以及网眼3000的数字摄像头等。
本系统的硬件结构如图1-2所示。
图1-2系统硬件架构图1.1.1电源、时钟模块设计系统各部分硬件要求提供1.8V和3V的电压。
其中S3C2440处理器内核需要提供1.8V 电源,NandFlash, SDRAM及DM9000等芯片需要提供3V电源,所以本系统采用了LM1117-3.3和LM1117-1.8电压转换芯片设计稳压电源,得到1.8V和3.3V的所需电压。
USB 控制器需要提供5V的电源。
本文采用了5V直流电压供电。
LM1117是一个低压差电压调节器系列。
其压差在1.2V输出,负载电流为800mA时为1.2V 。
LM1117有5个固定电压输出(1.8V, 2.5V, 2.85V, 3.3V和5V)的型号。
根据本系统的需要,这里选用了电压输出为1.8V 和3.3V两型号。
时钟电路为CPU和其它外围电路提供精准的工作时钟,按照电路中设计使用的器件特性分为有源和无源晶振,在本系统的设计电路中采用的是无源晶振。
ARM芯片均提供时钟发生电路,结合一定的辅助电路的配合就可以得到所需要的时钟信号。
基十ARMS的这款S3C2440芯片的时钟控制逻辑可以产生为CPU核供给时钟信号的FCLK、为AHB总线供给时钟信号的HCLK、为APB总线供给时钟信号的PCLK。
1.1.2外部存储器的扩展S3C2440微处理器存储空间仅有32M,应用于本系统,需要外扩存储器。
本设计采用两片二星公司的HY57V561620来扩展64M的SDRAM。
它们均4M* 16bit*4bank的SDRAM 芯片,这样,两片SDRAM实现了位扩展,数据总线达到了32bit,构成64M寻址空间。
图1-3为S3C2440与NandFlash的接口图。
图1-3 S3C2440的存储器扩展框图1.1.3外围接口电路设计S3C2440内部集成了2个USB host和一个USB device接口。
USB的分时处理机制实现了外设的即插即用。
在USB接口电路中的D+, D-均为数据输入端。
USB接口中其它两根线接电源和地,设计电路中用到的电感、电阻、电容主要起滤波作用。
其中还用到了起限流作用的电阻,主要是在短路时防止烧毁供电电路。
抓拍系统将抓拍到的图像数据通过以太网传输到PC机客户端。
由于微处理器S3C2440内部没有集成网络控制器,应本系统网络的需求,这里使用DM9000网卡芯片进行扩展。
DM9000快速以太网控制处理器是DA VICOM公司推出的,合成了NINIU, MAC和PHY。
图1-4为DM9000与S3C2440的连接示意图。
图1-4以太网接口电路本设计采用了16位的连接模式。
因为DM9000没有专用的地址线,是通过地址线与数据线复用来实现。
其中的CMD是命令类型控制信号,如果CMD为高,传送的为数据:如果CMD为低,传送就是地址。
其中AEN是地址使能信号线,即DM9000的片选信号线,通过把LnGCS4设置为低电平控制选通DM9000。
中断信号线INT占用S3C2440的7号中断,使得S3C2440可以响应DM9000的中断。
DM9000与网络之间的连接由发送信号线TX+, TX-和I接受信号线RX+, RX一通过隔离变压器E-2023与以太网水晶接口RJ45相连。
其中隔离变压器的最主要的作用是将嵌入式系统和外部线路相隔离,防止干扰以及烧坏元器件,并实现带电插拔功能。
1.2终端系统软件平台的构建1.2.1交叉编译环境的建立因为在嵌入式系统开发时,不可能有足够的资源提供给开发系统直接运行开发工具以及调试工具等。
通常,嵌入式系统软件开发是采用一种交叉编译调试的方式进行开发。
开发时,先使用宿主机上的一些交叉编译、汇编和链接工具等形成只能在目标板上执行的可执行代码。
1.2.2 Bootloader的移植在交叉工具安装完成以后,需要移植嵌入式操作系统,它为应用程序的开发提供良好的软件平台。
嵌入式linux系统从上电到运行用户的应用程序,一般要经历三个过程:一是加载Bootloader;二是启动linux;三是挂载根文件系统,为了使整个系统顺利运行,接下来做下面三方面的工作:Bootloader移植;制作根文件系统;裁剪内核。
下面详细介绍Bootloade 移植。
在基于ARM的嵌入式系统中,当进行上电或复位操作时,执行的第一段程序就是Bootloader。
它主要是初始化硬件、建立内存地址映射表,建立合适的系统硬件环境,也为最后调用操作系统的内核做好充分的准备。
在嵌入式开发中,没有一个标准的Bootloader,因为它是依赖于实际的硬件和应用环境。
下面根据本系统的硬件修改通用的U-Boot。
1.选择移植参考开发板:首先选择MCU相同的开发板,在uboot-2008.10中不支持MCU 为S3C2440芯片的开发板,如果MCU没有找到参考开发板,则选择MPU相同的作为参考,S3C2440的MPU为arm920T, uboot-2008.10中smdk2410开发板其MPU也为arm920T,故选择smdk2410作为参考开发板。
2.在顶层Makefile中添加新的配置选项,使用smdk2410已有的配置项目为起点。
3.修改CPU/arm920t/start.s,修改编译条件使其支持S3C2440、添加寄存器的定义、修改中断禁止和对时钟的设置(S3C2440主频设置为405MHZ)。
4.在cpu/arm920t/s3c24x0目录下的文件interrupts. c , speed. c等添加对S3C2440的支持及对分频的设置做些修改。
5.选择板级配置:#make Mzy2440_ config,即选择的board是Mzy2440o6.编译uboot,#make CROSS COMPILE=arm-linux-,编译成功后会产生u-boot.bin文件,它将被自动复制到当前主目录。
1.2.3系统内核移植解压内核到/home/meizhaoyun/zhuapai,清理内核中间文件、配置文件,选择参考配置文件,#cp config-zhupai.config。
下面对内核的配置进行简单的介绍:这里使用了网眼3000的USB摄像头来采集视频图像,linux对该摄像头使用的芯片为OV511芯片提供了很好的支持。
Linux操作系统下实现视频图像采集,必须在内核中加载二个模块:USB设备驱动、OV511模块和video4linux模块。
在内核源码目录下运行命令make menuconfig,具体步骤如下:1.在配置菜单中选择“multimedia devices->Video for linux”选项,这样在内核中加载了Video4 Linux驱动,为视频采集设备提供了编程接口。
2.在配置菜单中选择“USB Support->USB Multimedia devices->USB OV511 camera support”选项,这样就在内核中加入了对采用OV511接口芯片的USB数字摄像头的驱动支持。
1.2.4根文件系统移植linux文件系统体系对复杂系统进行抽象化,是linux系统的核心组成部分,可以做为linux系统文件和数据的存储,也可以作为系统的配置文件或者应用程序调用所需的库文件。
没有根文件系统的linux系统不能正确启动,所以为了存储引导程序、内核以及应用程序,需要创建合适的根文件系统。
mzy2440根义件系统的制作:1.创建根文件系统主目录//nfsroot/rootfs:#make -p /nfsroot/rootfs#cd /nfsroot/rootfs#mkdir bin dev etc lib proc sbin sys usr mnt tmp var#mkdir usr/bin usr/lib usr/sbin lib/modules2.创建设备文件内核在引导时,设备节点console、null必须存在#cd /nfsroot/rootfs/dev/#mknod -m 666 console c 5 1#mknod -m 666 null c 1 33.编译内核模块:#make module ARCH=arm CROSS COMPILE=arm-linux一安装内核模块到根文件系统#make modules install ARCH=arm INSTALL MOD PATH=/nfsroot/rootfsbusybox为一个工具集合,根文件系统的许多命令均可以通过busybox编译来获得,像cd, ls等。
实际上,busybox是把许多工具集合到一个非常小可执行文件中,用户只要使用命令就可以运行其中相应的服务。
解压busybox,配置busybox。
进入busybox setting->build options->选中"Build busybox asa static binary"静态链接,本系统中目标板没有这些库,故采用静态链接的方式。
2 系统应用程序设计该系统由USB视频采集模块,数据处理模块,图像显示模块3大部分组成,其中USB 视频采集模块由USB摄像头,USB摄像头驱动程序两部分构成。