新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于FPGA器件的Sobel算法实现

基于FPGA器件的Sobel算法实现

作者:时间:2009-03-20来源:网络收藏

0引言

本文引用地址:http://www.eepw.com.cn/article/192125.htm

边缘检测技术是图像处理的一项基本技术,在工业、航天、医学、军事等领域中有着广泛的应用。边缘检测的实现涉及复杂的计算步骤,故对处理速度有较高要求。采用实现系统设计是一种纯硬件的解决方案,该方案可以使系统具备较高的实时性,能比较好地解决软件编程方式所导致的处理速度问题。

1

在众多的图像边缘检测中,Soble算法具有计算简便、检测效果好等优点,是一种被广泛应用的算法。算法依据图像边缘的灰度值会产生突变的原理,来对像素的灰度值进行处理。在图1所示的3×3像素窗中,中间像素[i,j]为待检测像素,算法分别对此像素窗进行水平(H)、垂直(V)、左对角(L)、右对角(R)四个方向的灰度值滤波运算,公式如下:



c=2。这里的H,V,L,R是为了计算梯度的大小和方向。梯度大小可由下式得到普遍估计:


若此幅值大于给定的某阈值,则可判定像素点[i,j]为边缘像素,否则为一般像素。梯度方向与四个滤波值中绝对值最大的方向一致。

2 系统设计

一个完整的图像边缘检测系统主要包括以下三个功能模块:像素窗生成模块、边缘检测模块以及输出处理模块,图2所示是边缘检测系统示意图。其中像素窗生成模块主要负责生成供边缘检测模块计算的3×3像素窗;边缘检测模块采用Soble算法对此像素窗进行处理,以判断中心像素是否为边缘像素;输出处理模块负责后续处理任务(如生成完整的边缘图像)。


2.1 系统设计思路

本文主要讨论边缘检测模块的设计。这里使用行为域建模的方式对系统进行算法描述。该方法可以使系统行为与结构相分离,设计者只需对系统的功能进行算法描述而不必关心系统具体的硬件构成方式。这种设计方法在设计过程中借鉴了软件设计的灵活性优点,而设计结果则是具有高运算速度的硬件电路。

这种设计思路不必依次设计加法器、寄存器、比较器等功能单元。由于Sobel算法中的边缘检测主要包含两个步骤:一是对像素窗进行四个方向滤波;二是对滤波值进行决断。因此,可采用状态机方式来描述系统功能。但这里需要三个状态:空闲态(IDLE)、滤波态(FILTER)和决断态(JUDGE),图3所示是其系统状态图。



图3中的IDLE为边缘检测模块默认的初始状态,此状态下不进行任何处理动作。如果模块接收到有效的检测启动信号,则转入FILTER状态。在此状态下,模块对输入的像素窗进行四个方向的滤波处理。下一时钟周期到来后则转入JUDGE状态,此状态下,模块进行边缘判断,并输出相应结果。经过这样一个过程后,即可完成一个像素窗的处理,之后,如果检测启动信号继续有效,则转入FILTER状态并处理下一个像素窗,否则转入IDLE状态待命。


上一页 1 2 3 下一页

关键词: Sobel FPGA 器件 算法

评论


相关推荐

技术专区

关闭