1第2章经典边缘检测算子数字图像的基本概念图像数字化图像数字化是将一幅画面转化成计算机能处理的形式——数字图像的过程。模拟图像数字图像正方形点阵图2.1.1图像数字化的基本过程具体来说,就是把一幅图画分割成如图2.1.1所示的一个个小区域(像元或像素),并将各小区域灰度用整数来表示,形成一幅数字图像。它包括采样和量化两个过程。小区域的位置和灰度就是像素的属性。采样。将空间上连续的图像变换成离散点的操作称为采样。采样间隔和采样孔径的大小是两个很重要的参数。当对图像进行实际的采样时,怎样选择各采样点的间隔是个非常重要的问题。关于这一点,图像包含何种程度的细微的浓淡变化,取决于希望忠实反映图像的程度。量化。经采样图像被分割成空间上离散的像素,但其灰度是连续的,还不能用计算机进行处理。将像素灰度转换成离散的整数值的过程叫量化。一幅数字图像中不同灰度值的个数称为灰度级数,用G表示。一般来说,,g就是表示图像像素灰度值所需的比特位数。一幅大小为M×N、灰度级数为G的图像所需的存储空间,即图像的数据量,大小为2gG2M×N×g(bit)数字图像的描述黑白图像是指图像的每个像素只能是黑或者白,没有中间的过渡,故又称为2值图像。2值图像的像素值为0、1。图2.1.2二值图像灰度图像是指灰度级数大于2的图像。但它不包含彩色信息。图2.1.3灰度图像Sobel算子Sobel算法是一种较成熟的微分边缘检测算法,它计算简单,且能产生较好的检测效果,对噪声具有平滑作用,可以提供较为精确的边缘方向信息。在讨论Sobel边缘算子之前,首先给出一些术语的定义。(1)边缘点:图像中具有坐标[i,j],且处在强度显著变化的位置上的点。3(2)边缘段:对应于边缘点坐标[i,j]及其方位,边缘的方位可能是梯度角。(3)边缘检测器:从图像中抽取边缘(边缘点和边缘段)集合的算法。(4)边缘跟踪:一个用来确定轮廊的图像(指滤波后的图像)搜索过程。Sobel算子的基本原理。Sobel算子是一阶导数的边缘检测算子,使用两个方向算子(垂直算子和水平算子),对图像进行卷积运算,得到两个矩阵,再求这两个矩阵对应位置的两个数的均方根,得到一个新的矩阵,即为灰度图像矩阵中各个像素点的梯度值。在算法实现过程中,通过3×3模板作为核与图像中的每个像素点做卷积和运算,然后选取合适的阈值以提取边缘。,(a)Sy垂直方向(b)Sx水平方向图2.2卷积模板经典的Sobel算子检测只有水平方向和垂直方向的3×3的邻域模板(见图2.2),对于数字图像(,)fxy的每个像素,考察它上下左右邻点灰度的加权差,与之接近的邻点的权大。据此定义Sobel算子如下(,)(1,1)2(1,)(1,1)(1,1)2(1,)(1,1)(1,1)2(,1)(1,1)(1,1)2(,1)(1,1)xysijfffijfijfijfijfijfijfijfijfijfijfijfij(2.1)-101-202-101121000-1-2-14其卷积算子y101121202,000101121xff选择取门限TH,作如下判断:S(i,j)TH(i,j)为阶跃壮边缘点,{S(i,j)}为边缘图像。Sobel算子很容易在空间上实现,Sobel边缘检测器不但产生较好的边缘效果,而且受受噪声影响比较小。当使用大的领域时,抗噪性能会更好,但这样会增加计算量,并且得出的边缘也会相应变粗。Sobel算子利用像素点上下,左右邻点的灰度加权算法,根据在边缘点在处达到极值这一现象进行边缘的检测。Sobel算子对噪声具有平滑作用,提供较为精确的边缘信息,是一种较常用的边缘检测方法。Sobel算子把重点放在接近于模板中心的像素点图2.1和图2.2表明了这一算子的作用。Sobel算子是边缘检中最常用的算子之一。Prewitt算子Prewitt边缘算子是一种边缘样板算子,利用像素点上下,左右邻点灰度差,在边缘处达到极值检测边缘,对噪声具有平滑作用。由于边缘点像素的灰度值与其领域点像素的灰度值有显著不同,在实际应用中通常采用微分算子和模板配匹方法检测图像的边缘,该算子通常由下列公式表示:'(,)(1,1)(1,1)(1,)(1,)(1,1)(1,1)xfxyfxyfxyfxyfxyfxyfxy(2.2)'(,)(1,1)(1,1)(,1)(,1)(1,1)(1,1)yfxyfxyfxyfxyfxyfxyfxy(2.3)'2'2[(,)](,)(,)xyGfxyfxyfxy(2.4)'(,)xfxy'(,)yfxy分别表示x方向和y方向的一阶微分,5[(,)]Gfxy是Prewitt算子的梯度,(,)fxy是具有整数像素坐标的输入图像。求出梯度后,可设一个常数T,当[(,)]GfxyT时,标出该点的边界点,其像素设定为0,其他的设定为255适当调整常数T的大小来达到最佳效果。Prewitt算子不仅能检测边缘点而且还能抑制噪声的影响,因此对灰度和噪声较多的图像处理比较好。和Sobel算子的原理相似,Prewitt算子的两个卷积核如下图101101101YG111000111YG图2.3Prewitt算子的卷积计算核LoG算子LoG算子的基本思想是首先将图像与高斯滤波器进行卷积,这一步即平滑了图像又降低了噪声,孤立的噪声点和较小的结构组织将被滤除。然后利用拉普拉斯算子找出图像中的陡峭边缘,并且考虑那些具有局部梯度最大值的点。图像的平滑过程减少了噪声的影响,并且抵消了由拉普拉斯算子的二阶导数所引入的噪声影响LoG算子实现过程的数学表达式如下2(,)[(,)(,)hxygxyfxy(2.5)其中2222(,)xygxye,其中σ是标准差,σ决定了图像经过平滑过程后的模糊程度。拉普拉斯算子的两个卷积核如下图2.4。010111 141181010111XYGG图2.4LOG算子的卷积计算6实验结果及分析图2.5Lena灰度图图2.6用LOG算子检测结果图图2.6Prewitt算子结果图图2.6sobel算子结果图通过上图四个结果可以知道经典的sobel算子的边缘检测结果不是很高,比如LOG算子的抗噪性能很差,Prewitt算子的的对噪声的抑制不是很高,但是像素平均相当于对图像的低通滤波,所以Prewitt算子的定位没有Roberts精确,Sobel和Prewitt算子都是加权平均,邻域的像素对当前像素影响不是等价的,所里不同的像素具有不同的权值,对算子结果产生的影响也不同。一般来说,距离越远,产生的影响越小。但是仅仅这些已经满足不了某些领域的要求,因为主要是边缘提取精度不是很高,失去细节比较多,如果提高精度还需要改进提取边缘7