基于FPGA的图像边缘检测系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要:许多关于图像中比较重要的信息都在图像的边缘包含着,图像边缘检测作为图像处理的重要组成部分,在许多领域有着重要的应用。图像边缘检测在很大程度上减少了数据的量,并且除去了一些并不是特别相关的信息,但是却保留了对于图像来说重要的结构属性,数据量大,重复度高是边缘检测算法最主要的特点。由于FPGA的算法在硬件处理中速度快、而且可以用来直接编程、可重配置等各种特点,因此它在图像处理中占有很重要的位置,为此文章提出了运用FPGA实现边缘检测的方法,并且根据FPGA的特性,对Sobel算子进行了FPGA设计与实现以及仿真,并且对几种边缘检测算子进行了比较。仿真中通过改变程序中的阈值可以得到不同的处理效果,这也是利用FPGA的优点,方便容易、速度也得到了提高,并且可编程、可重配置,使得FPGA在数字图像处理方面显得非常优越。
关键词:边缘检测;FPGA;图像处理;Sobel算子;Prewitt算子
The design of image edge detection technology based on FPGA
Abstract:Many important information about the image is contained at the edge of the image,Image edge detection is an important part of image processing,It is important in many fields .Image edge detection greatly reduces the amount of data,And removed some information that is not particularly relevant,But it preserves the structural attributes that are important to the image,Large amount of data,High repetition is the most important feature of edge detection algorithm.Because the FPGA algorithm is fast in hardware processing、And can be used for direct programming, reconfiguration and other characteristics,Therefore, it plays an important role in image processing,For this reason, a method of edge detection using FPGA is proposed,And according to the characteristics of FPGA,FPGA design, implementation and Simulation of Sobel operator are carried out,And several edge detection operators are compared.In simulation, different processing results can be obtained by changing the thresholds in the program,This is also the advantage of using FPGA, which is convenient, easy and fast,And programmable and reconfigurable, enabling FPGA to be very good in digital image processing.
Key Words:Edge detection; FPGA;Image processing;Sobel operator;Prewitt operator
引言
在图像边缘检测系统的图像处理模块中,要处理的源图像往往存在着很多的问题,例如图像内容模糊不清,图像亮度层次不够明显,图像细节看不分明等[1]。图像内容之间的联系也被这一系列的问题覆盖了,因此图像信息的识别难度也相应的被加大了,但是图像处理的效果却被降低了[2]。根据我们上面所提到的问题,我们往往需要对原来的图像进行处理,以此突出图像的重要信息。
图像的大量关键信息都被图像的边缘所包含着。为了突出图像边缘信息需要我们对图像进行适当的处理,这样我们便能起到一定程度的去除干扰、使图像关键细节更加清晰的作用。
应用检测算子,来识别相邻图像灰度差异突出的边缘像素点,进而提高图像细节识别的技术即边缘检测技术。常需要进行数据量相对比较大的图像处理即边缘检测算法,生活中我们常用的软件处理方式,它的速度是相对比较慢的,但它往往是提高图像处理速度的关键[2]。
FPGA芯片技术在当代我们的生活中越来越被广泛应用,但是它的集成度高,性能稳定,不仅具有高效的硬件并行处理技术,而且还具有良好的可移植性和通用性。这些特性十分适合进行数据量大、算法简单的数据处理,在图像处理系统中刚好适用。
1. 图像边缘检测技术的发展与研究现状
1.1 边缘检测技术的发展
图像边缘检测技术的系统研究在1965年正式开始,是由L.G.Roberts提出的[3]。图像边缘我们可以根据两种情况来划分,一种是阶跃性边缘但它变化剧烈,另一种是屋顶状边缘但它变化缓慢,两种边缘的区域都是一样的,因此,它和梯度算子的物理意义也很相似,可以用梯度变化得幅度来表示图像边缘变化的强弱。
先前的边缘检测算法主要用梯度来做铺垫,最早的边缘检测算子便是Roberts算子[4]。在Roberts算子的基础上,为了降低图像边缘的检测更少的受到外界的影响,接着又提出了Prewitt算子和Sobel算子等。上面的两种算子在计算它们的梯度时,周围像素的影响也都会考虑进去,减小了外界因素对我们的计算造成的影响[5]。根据梯度算子计算获得的图像,它的边缘往往会比较宽,因此,另一种二阶导数的算子,Laplacian算子就被提出来了,由此算子得到的图像,它的边缘往往比较窄,但是它的检测质量和之前相比有所改善[6]。
由一阶导数算子获得的图像边缘比其它的较宽,并且一阶导数算子抵抗外界干扰的能力却很弱,因此又提出了Canny边缘检测算法。Canny算法以信噪比、定位精度、单边响应为三准则进行函数建模[7],得到了较为理想状态的边缘检测方法。由于二阶导数的Laplacian算子单边响应差,对噪声具有放大作用,因此在此基础上加入了Gauss滤波函数,此函数具有平滑噪声的作用,继而又提出了LoG边缘检测算法[7]。由于梯度算子作为一种较经典的算子,其算法结构简单,实现方便,因此具有较大的应用价值和改造空间。
随着科学技术的发展,各种技术也进入了融合,在边缘检测中也开始引入大量的新方法。而且这些算法各有各的特点,在一些特定的场景中有比较好的检测效果。但经过算法融合后,算法的复杂程度却大大增加了,计算时间也比较长,很难实现图像的实时边缘检测,因此基于算法融合的边缘检测技术具有一定的局限性。
1.2 边缘检测技术的应用
图像的边缘对人的视觉系统以及对数字图像处理技术来说,都有着非常重要的意义,而且它的确定和提取在图像处理中也有着十分重要的位置。在图像处理技术应用中,边缘检测技术主要体现在以下几个方面:
(1)图像压缩
图像信息的数据量大会给存储器的存储容量、通信干线信道的带宽以及计算机处理平台带来极大的压力。来解决这个问题显然是很不现实的如果仅仅通过增加存储器容量、提高信道带宽以及计算机硬件配置等方法来解决,因为我们须要