基于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的视频图像采集系统摘要:本系统采用了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摄像头驱动程序两部分构成。