一种基于FPGA的Sobel边缘检测算法与仿真研究

2015-12-03 06:17:48廖传柱漳州职业技术学院电子工程系福建漳州363000
长江大学学报(自科版) 2015年7期
关键词:检测

廖传柱 (漳州职业技术学院电子工程系,福建 漳州363000)

随着计算机技术的高速发展,数字图像处理技术已经融入到日常生活中,如照片、刊物、航空测量、卫星遥感等。在图像测量技术的研究中,图像边缘检测是图像处理的一个基本问题。在图像边缘检测中,边缘检测算子分为一阶微分算子和二阶微分算子。常见的一阶微分算子有Prewitt算子、Canny算子、Sobel算子、Roberts Cross算子、Kirsch算子和罗盘算子等。二阶微分算子包括Laplacian算子和LOG算子等[1,2]。下面,笔者对基于FPGA(现场可编程门阵列)的Sobel边缘检测算子的实现问题进行了研究。

1 Sobel边缘检测算子

Sobel边缘检测算子是离散型差分算子,用来运算图像亮度函数的梯度近似值。在图像的任何一点使用该算子,将会产生对应的梯度矢量或法矢量[3,4]。假设在图像平面上有一个9个点的小区域:

用二次曲面z(x,y)来拟合上述9个点的灰度值,即用:

来近似图像灰度函数f(x,y),并使均方误差:

它的2个卷积模板为:

2 基于FPGA的Sobel边缘检测算法

Sobel边缘检测算法原理图如图1所示:首先,分别计算水平梯度和垂直梯度,然后将2个方向的梯度值结合起来,通过一个门限值后,再输出二值图像。

假设输入的像素点分别为a11、a12、a13、a21、a22、a23、a31、a32、a33,则x方向的梯度和y方向的梯度分别为:

图1 Sobel边缘检测算法原理图

梯度结合后的梯度值G为:

门限处理函数:

式中,GT是门限处理的阈值。

根据以上分析,可知在空间域上比较容易实现Sobel边缘检测算子,且采用上述方法可以有效处理噪声的影响[5-6]。

Sobel边缘检测算法的关键在于计算梯度值G,由式(6)和式(7)可知:

登录APP查看全文

猜你喜欢
检测
QC 检测
小波变换在PCB缺陷检测中的应用