边缘检测流程图比较形象直观地描述了边缘检测的步骤,通过滤波、增强、检测、定位来达到边缘检测的目的。
2.4边缘检测算法中算子的分类
在大部分情况下,都是把图像的边缘全部看作是阶梯形边缘, 然后求得检测这种边缘的各种最优滤波器,用于实践中。边缘检测主要是(图像的)灰度变化的度量、检测和定位。有很多种不同的边缘检测方法,同一种方法使用的滤波器也不尽相同。边缘检测就是研究更好的边缘检测方法和检测算子。检测出的边缘并不等于实际目标的真实边缘。由于图像数据是二文的,而实际物体是三文的,从三文到二文的投影必然会造成信息的丢失,再加上成像过程中的光照不均和噪声等原因的影响,使得有边缘的地方不一定能被检测出来,而检测出来的边缘也不一定代表实际边缘。这就需要我们根据不同类型的图像,来选取合适的边缘检测算子。就一些经典的边缘检测算子分类,如图2.3。
2.5经典边缘检测算子
2.5.1 Roberts边缘检测算子
Roberts边缘算子采用的是对角方向相邻的两个像素之差。从图像处理的实际效果来看,边缘定位准,对噪声敏感。Roberts边缘检测算子是一种利用局部差分算子寻找边缘的算子,它有下式给出。
Roberts算子:
其中 表示处理后 点的灰度值, 表示处理前该点的灰度值。 是具有整数像素坐标的输入图像,平方根运算使该处理类似于在人类视觉系统中发生的是过程。
该算法的算子如下:
2.5.2 Sobel边缘检测算子
(1)卷积
卷积可以简单的看成加权求和的过程。卷积时使用的权用一个很小的矩阵来表示,矩阵的大小是奇数,而且与使用的区域的大小相同。这种权矩阵叫做卷积核,区域中的每一个像素分别与卷积核中的每个元素相乘,所有乘积之和即区域中心像素的新值。比如,对于一个3×3的区域p与卷积核k卷积后,区域p的中心像素p5表示如下:
中
卷积核中各元素叫做卷积系数。卷积核中卷积系数的大小、方向及排列次序决定了卷积的图像处理效果。大多数常用的卷积核都是3×3的,所有的卷积核的行、列都是奇数。进行卷积时会遇到一些复杂的问题,首先是图像边界的问题。当在图像上逐个移动卷积核时,只要卷积核移动到了图像边界,即卷积核悬挂在图像边界上时,就会出现计算上的问题。这时在原图像上就不能完整的找到与卷积核中系数相对应的9个图像像素。解决这个问题的两个简单方法是:或者忽略图像边界数据,或者在图像的四周复制图像的边界数据。
Sobel边缘检测算子是先做加权平均再微分,然后求梯度,即
以下两个卷积核形成了Sobel边缘检测算子,图中的每个点都用这两个核做卷积,一个核对通常的垂直边缘影响很大,而另一个对水平边缘影响很大。边缘检测算子的中心与中心像素相对应,进行卷积运算。两个卷积核的最大值作为该点的输出位。运算结果是一幅边缘幅度图像。在边缘检测中,Sobel算子对于像素的位置的影响做了加权,加权平均边宽 像素,因此效果更好。 VC++数字图像边缘检测算法研究与实现(4):http://www.751com.cn/jisuanji/lunwen_7097.html