小核值相似区域(SUSAN)算法能用于提取灰度图像的边缘信息。SUSAN算法基于每个像素点都有一个与之灰度相似的小区域相对应的构想。这个小区域即USAN,包含了许多关于图像结构的信息,通过大小、重心、USAN二维特征的二次矩等可以把边缘检测出来。这种特征检测方法与常规检查方法有很多不同之处,最显著的不同是不需要对影像进行差分运算,所以计算结果受噪声影响较小。
与其他许多已有算法相比,SUSAN算法具有如下优点:
(1)可以直接对原始图像进行处理,不需要求导,算法的抗噪声能力较强,运算速度较快。
(2)圆形的SUSAN模版具有各向同性,可以抵抗图像的旋转变化。
(3)使用SUSAN算法提取图像的轮廓,可以直接得到轮廓的二值图像,不需要再进行阈值分割。
(4)配合SUSAN算法的中心判据和边缘判据,可以提出大量的虚假特征点,获得较细的边缘。
SUSAN算法的原理
SUSAN边缘检测算法用给定大小的模板对图像中的像素点进行运算以产生初始响应的边缘,再对初始响应边缘进行处理以得到最终的边缘。通常情况下可以采用3*3的模板。
多数的孤立噪声的邻域的灰度重心和中心是重合或近似重合的;而边缘处点的邻域的灰度重心是不与中心重合的,即在边缘处像素点邻域的灰度重心与中心不重合,便可以消除大量噪声影响产生的假边缘信息。
SUSAN边缘检测算法受噪声影响比较小,提取的边缘特征有较好的连续性和结构性。
matlab版SUSAN程序:(下载区也有不少MATLAB的susan函数)
来源:http://www.mathworks.com/matlabcentral/fileexchange/loadAuthor.do?objectType=author&objectId=1094521
此程序的使用方法为:
- image_in=imread('test_pattern.tif');
- image = susan(image_in,27);
- imshow(image,[])