本文对数字图像中几种具有代表性的边缘检测算法进行了理论分析,并通过实验,对各种算法进行实现,通过比较得出了各自的优缺点和适用范围。总结探讨了一种新的改进的Sobel算法,证明了其改进的算法是有效的。
Sobel图像边缘检测算法介绍
Sobel算法的边缘检测,是在图像空间利用两个方向模板与图像进行邻域卷积来完成的。这两个方向模板一个检测水平边缘,一个检测垂直边缘,如图1所示。图中,模板内的数字为模板系数,中间的黑点表示中心元素,梯度方向与边缘方向总是正交垂直
算法的基本原理:由于图像边缘附近的亮度变化较大,所以可以把那些在邻域内,灰度变化超过某个适当阈值的像素点当作边缘点。
算法的主要步骤:
1.分别将两个方向模板沿着图像从一个像素移到另一个像素,并将模板的中心像素与图像中的某个像素位置重合;
2.将模板内的系数与其对应的图像像素值相乘;
3.将所有乘积相加;
4.将两个卷积的最大值,赋给图像中对应模板中心位置的像素,作为该像素的新灰度值;
5.取适当的阈值1万,若像素新灰度值)1万,则判该像素点为边缘点。
从上述可知,Sobel算法的优点是计算简单,速度快。但由于只采用了两个方向模板,只能检测水平方向和垂直方向的边缘,因此,这种算法对于纹理较复杂的图像,其边缘检测效果欠佳;同时,经典Sobel算法认为,凡灰度新值大于或等于阂值的像素点都是边缘点。这种判定依据是欠合理的,会造成边缘点的误判,因为许多噪声点的灰度新值也很大。
针对Sobel算法的缺点,本算法在经典Sobel算法的基础上,作了两方面的改进,以弥补Sobel算法的不足。