廖传柱 (漳州职业技术学院电子工程系,福建 漳州363000)
随着计算机技术的高速发展,数字图像处理技术已经融入到日常生活中,如照片、刊物、航空测量、卫星遥感等。在图像测量技术的研究中,图像边缘检测是图像处理的一个基本问题。在图像边缘检测中,边缘检测算子分为一阶微分算子和二阶微分算子。常见的一阶微分算子有Prewitt算子、Canny算子、Sobel算子、Roberts Cross算子、Kirsch算子和罗盘算子等。二阶微分算子包括Laplacian算子和LOG算子等[1,2]。下面,笔者对基于FPGA(现场可编程门阵列)的Sobel边缘检测算子的实现问题进行了研究。
Sobel边缘检测算子是离散型差分算子,用来运算图像亮度函数的梯度近似值。在图像的任何一点使用该算子,将会产生对应的梯度矢量或法矢量[3,4]。假设在图像平面上有一个9个点的小区域:

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

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


它的2个卷积模板为:

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)可知:……p>