基于fpga的sobel边缘检测系统的设计_第1页
基于fpga的sobel边缘检测系统的设计_第2页
基于fpga的sobel边缘检测系统的设计_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于fpga的sobel边缘检测系统的设计

图像的边缘通常与大多数图像信息相连。这是图像的基本特征之一。但因其算法处理的数据量大,用一般的软件实现会比较慢,无法达到实时系统的要求。而使用FPGA芯片,用硬件实现对底层的图像预处理可提高图像处理的速度,满足系统实时要求,同时FPGA的应用也为提高图像处理速度提供了新的思路和解决方法。随着FPGA芯片技术的进步,其价格逐步降低,而性能迅速增强,这为使用FPGA芯片搭建图像处理平台提供了可能。在此将Sobel算子针对FPGA的并行结构特点和流水线技术,在实现过程中进行修改,以实现基于FPGA的高速的边缘检测。1在加速度运算中的应用图像的边缘分为多种类型,大部分图像的边缘可分为阶跃型、房顶型、凸缘型。如图1所示。由于3种边缘在灰度上都有明显的变化,所以通过对图像取微分,可以提取以上3种边缘的信息。Sobel算法是一个较成熟的微分边缘检测算法,它计算简单,只涉及到加法运算,同时具有非线性和一定的平滑效果,所以在对边缘精度要求不是很高的项目中有着广泛的应用。参考的邻域为3×3,其计算公式如下:Gx=(a02+2a12+a22)−(a00+2a10+a20)Gy=(a00+2a01+a02)−(a20+2a21+a22)Gx=(a02+2a12+a22)-(a00+2a10+a20)Gy=(a00+2a01+a02)-(a20+2a21+a22)Sobel算子参考的邻域表示如下:a00a10a20a01[i,j]a21a02a12a22a00a01a02a10[i,j]a12a20a21a22从上式可以看出,Sobel算子给与中心点相邻的4个点以更多的权重,同时,因为参考了3×3的邻域,可以避免在像素之间内插点上计算梯度,也可以检测出45°倍数的边缘。2处理一般流程图像处理中的数据具有数据量大,可并行处理操作及重复操作多的特点,而FPGA(FieldProgrammableGateArray)现场可编程门阵列,具有硬件执行处理,流水线任务处理技术以及并行信息处理的优点,适合用于图像处理领域,结合自身优点提高处理速度。流水线任务处理技术是指,在流水线结构中,一个大任务按时序分割为几个复杂程度相当的子任务,各个子任务在流水线上不同的位置同时执行,整个任务的速度取决于执行时间最长的子任务的执行时间。该操作可以减少数据操作等待时间,提高系统资源使用效率。并行结构是相对串行结构而言的,是指将相同的任务在同一时间进行,比如同时对9组数据进行相加操作。该操作可有效解决图像处理中的数据量大,可并行处理操作多的问题。通过对Sobel算子的研究,挖掘算子内部的并行性,并与流水线任务处理技术结合起来,达到了提高处理速度的目的。FPGA在硬件并行结构和流水线结构有着天然的优势,将Sobel算子应用在FPGA上,其处理速度满足实时系统的要求。3意义的并行结构系统基于Altera公司的CYCLONE系列芯片中的CYCLONEEP1C20型FPGA。系统构建时引入了模块化设计思想,每个功能模块实现一定的功能,并且具有良好的移植性和系统扩展性。根据设计思想,可以将系统划分为以下几个模块,如图2所示。下面给出3×3方形窗口数据提取模块和Sobel算子模块的具体结构。为了实现并行结构,系统首先要构造3×3并行输出的数据窗口。该模块由2个FIFO(先入先出栈)对图像的行数据进行缓存,然后并行输出3行图像数据,再由9个D触发器对数据进行时延,最终可以形成3×3的窗口数据。在并行输入Sobel算子模块中,作为数据输入,处理所得的结果,即为3×3窗口中心点的Sobel梯度值。其结构如图3所示。核心模块Sobel算子模块具体的实现结构是,Sobel算子中的x,y向梯度使用并行结构,同时计算;计算梯度时使用流水线结构,分为3个小任务。该结构可以保证每个周期输出1个点的Sobel梯度值。其结构如图4所示。结构中为避免使用乘法器,用加法器对其进行代替,可以提高处理系统的频率。另有数据溢出问题,采用先扩展位数,再将结果裁减为8位的方法,保证数据的有效输出。4实验结果及分析通过VerilogHDL语言按设计思路进行程序编写,在QuartusⅡ中仿真。仿真所用图像为128×128的8位灰度图像。得到仿真结果如图5所示。图5中竖线处的时间为5.30μs,是第265个周期,表明在延时265个周期后开始输出有效数据。延时产生的原因是FIFO填充时间和处理周期延时。将程序下载到FPGA中,得到的数据,通过逻辑分析仪,再经过Matlab的转换,得到结果图像,如图6所示。从仿真结果,及实验所得到的图像来看,该系统较好地完成了Sobel算子边缘检测的任务。实验结果表明,使用FPGA可以完成图像处理的边缘检测工作。同时,假定使用50Hz(实验时使用值)作为驱动源,处理一幅256×256的8b图像,所需时间为1.3ms,每秒可处理图像770幅,达到了实时系统的要求,解决了普通计算机运算需时长的问题。该系统占用266个逻辑门,20个引脚及4096b的内存,为板上资源的2%,剩余的资源可以用来实现更复杂的功能。5fpga技术的应用这里通过采用可编程的FPGA,完成了3×3方形窗口数据的提取模块和Sobel边缘检测算子模块,将图像边缘处理使用FPGA完成。通过FPGA的流水线结构和良好的并行性,使图像边缘检测的大量重复的计算效率提高

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论