数字图像处理技术的设计与实现

点赞:5885 浏览:20257 近期更新时间:2024-01-27 作者:网友分享原创网站原创

【摘 要】随着数字图像技术的发展与实际应用范围的扩大,文章提出了一种先进的图像处理系统.结合对该系统的总体设计与系统结构单元的设计,详细分析了该系统主要模块的工作原理与实现技术.

【关 键 词 】图像处理;总体设计;处理系统

1.前言

科学技术的发展促进了数字图像技术的发展与实际应用,本文提出一种基于ARMARM(Advanced RISC Machines,高级精简指令处理器)和FPGA(Fidd Programmable Gate Array,现场可编程门阵列)[1]的图像处理系统,其利用FPGA高速、资源丰富的优点实现图像的高速采集与数据的并行处理.利用ARM的有操作系统支持与开发方便的优点实现了系统很好的应用层交互.虽然该系统架构可以通过集成有powerPC的FPGA或DSP加ARM来实现等同的功能,但成本却要高出很多.


2.系统的总体设计

系统总体设计框如图1.

COMS传感器采集图像并以VGA格式传输.A\D模块将VGA格式的模拟信号转换成RGB信号,其由FPGA的采样模块作为控制器.FPGA中初始模块模拟SCCB时序对COMS传感器进行模式初始化.控制模块接收ARM的使能与复位信号.数据模块实现图像中值滤波的并行处理.ARM处理器运行Linux操作系统并将底层功能,封装成设备文件,提供应用接口.ARM模块中包含FLASH与RAM.FPGA模块通过双口RAM与ARM模块进行数据传输.

3.系统结构单元的设计

3.1 COMS传感器单元

系统采用OV7670摄像头作为图像传感器,有640*480和320*240两种分辨率,支持SXVGA,VGA,QVGA,VGA,CIF,QCIF,CIF多种图像格式,其上有SCCB接口和VGA接口.本系统采用VGA格式,系统运行后被初始化为帧速率为10fps,量化深度为10.

3.2 FPGA单元

FPGA单元分为初始化模块、控制模块、数据处理模块、采样模块负责控制图像的采集、数据处理、以及与ARM之间的传输.基于系统的需求和低成本的目标,采用了Xilinx公司的XC3S250,属于Spartan3E系列.其有25万门容量,包含4个DCM(Digital Clock Manager,数字时钟管理模块),足以胜任COMS初始化,采样控制器,数据处理与传输的工作,而且单片不到30元.

FPGA单元中的初始化模块通过模拟SCCB时序,对COMS传感器进行初始化.因为传输中只有一个主机和一个从机,FPGA只模拟SIO_C和SIO_D两个信号的简单的读写时序.

采样模块模拟A/D转换控制器的状态机逻辑,配合AD0809芯片完成VGA数据到RGB数据的转换.相比于采用单片机作为控制器,用FPGA实现控制器具有更高的速度.相比于采用DSP作为控制器,FPGA具有低成本、高集成度的优势.

数据处理模块采用分割子图的方案,将图像数据分割成两个子图,并分别用两条图像处理运算单元对子图进行处理,结构上实现了处理的并行化.其中处理过程是通过用Verilog,HDL[2]语言描述中值滤波算法,综合后硬件化的算法处理逻辑.

数字图像处理技术的设计与实现参考属性评定
有关论文范文主题研究: 关于操作系统的论文例文 大学生适用: 学校学生论文、在职研究生论文
相关参考文献下载数量: 50 写作解决问题: 写作资料
毕业论文开题报告: 论文模板、论文设计 职称论文适用: 期刊目录、中级职称
所属大学生专业类别: 写作资料 论文题目推荐度: 优秀选题

3.3 ARM单元

ARM单元其主要为用户提供一应用层交互平台,可以根据用户的需求自由写作.本系统采用S3C2440的处理器,同时采用了一片FLASH和一片SDRAM,FLASH有32M,用于存放系统镜像,SDRAM有32M用作内存.ARM平台上运行Linux操作系统,并将下层对FPGA单元的控制与数据传输封装成设备驱动,以适应多种应用.

4.系统主要模块的工作原理与实现

4.1 FPGA实现数据并行处理

FPGA数据处理模块采用分割子图的方案,将一幅图像分成两个子图,每个子图由一个运算处理单元来进行中值滤波处理.实现了结构上的并行化,相当于双核处理.因为大多数图像算法在对图像处理时,对靠近边缘的像素的处理效果都不是很好.在划分子图时又增加边缘像素,位于分割线的两旁的像素的处理效果肯定会受到影响.为了使分割处理的效果等效于未分割处理.系统采用冗余分割的方法划分子图,如图2.

数据处理模块将图像分成两部分时,使两个子图都多出一部分,然后进行并行处理,在将图像还原时,两个子图分别丢弃靠近边缘的部分,用内部像素点组成完整图像.就避免了分割图像带来的边缘影响.在实现中,图像分割是从像素行开始进行的,并未像图2中对完整的图像进行划分.系统采用640*480的分辨率,每个运算单元取326的行像素作为输入,320的像素作为输出.

4.2 FPGA单元与ARM单元数据的传输

FPGA单元通过一个8Kbyte双口SRAM与ARM单元之间传输图像数据.把8K的SRAM划分成两个大小为4K的SRAM,设为SRAMl和SRAM2.每片SRAM一次存储六行图像数据.同一时刻,一片用于存储图像数据,另一片用于外部ARM对图像数据的读取.两块SRAM存储区乒乓式切换.切换时FPGA通过外部中断通知ARM单元.

ARM对FPGA单元的控制只包括使能与复位两种操作,ARM单元通过GPIO来实现对FPGA单元的控制.

5.结语

综上,文章介绍的基于FPGA和ARM的图像处理系统,其采用并行运算单元结构,实现了图像的采集和中值滤波处理.ARM单元为上层应用提供了方便的交互接口,FPGA的运算单元可以灵活设计,为图像识别算法的实验提供了平台.