摘 要 提出了一种改进的SUSAN角点检测算法,在原有的SUSAN算子的基础上,针对原算子需要人为的提供阈值的不便,提出了一种自动阈值的检测方法
同时,在角点检测完成后,根据角点的形状特点,进一步的对角点进行了判断,提高了角点的识别效果
关键词 角点检测;SUSAN算法;角点形状;自适应阈值 0 引言 SUSAN算法是1997年英国牛津大学的Smith等人提出的一种处理灰度图像的方法
探测算子的基本原理是:与每一图像点相关的局部区域具有相同的亮度
下面介绍SUSAN角点检测准则
1 SUSAN算子 将位于圆形窗口模板中心等待检测的象素点称为核心点
假设图像中无纹理存在,称与核心点具有一样的灰度值的区域为USAN(Univalue Segment Assimilting Nucleus)
图(1)给出了USAN的三种典型形状: (a)核心点在USAN内 (b)核心点是边缘点 (c)核心点是角点 图(1) 由图(1)可以清楚的看到,当核心点位于USAN区域内时,USAN区域面积最大;当核心点位于边缘时,USAN区域相当于整个领域面积的一半;当核心点的USAN区域最小时,核心点是角点
利用这个原理,Smith等人提出了最小核心值相似区域(SUSAN,Smallest Univalue Segment Assimilating Nucleus )的角点检测算法
SUSAN算子使用的是圆形模板进行角点检测,一般使用的模板的半径为3~4个像素,如图(2)所示
图(2) SUSAN圆形模板 将模板中的各点亮度与核心点的亮度利用下面的函数进行比较, (1) 在上式中 为图像中像素 的灰度值, t为灰度差别的阈值, 为模板中心的像素, 为其他的像素, C为比较函数
模板中所有的像素都用这个函数进行比较,然后计算出函数C的和值 n
(2) 和值n就是USAN(univalue segment assimilating nucleus)区域的像素个数,就是USAN区域的面积,然后把这个面积和几何阈值进行比较,得到最后的响应函数: (3) 上式中,R为响应函数,g为阈值,通常在探测角点时取值为1/2模板的像素个数,当采用7×7的模板时,g=37×1/2
2 SUSAN算子的改进算法 通常在实际的应用中,对于比较函数 我们通常采用下面的比较函数: (4) 采用这个函数可以使比较函数具有更好的稳定性,当图像中的像素亮度值有很小的变化后,对于c 的取值不会产生很大的影响
灰度差别阈值t能够体现出算法检测到的角点的最小对比度,同时该值也是忽略噪声的最大值
它的大小决定了在不同的对比度图像中提取特征值的多少,因此,对于不同的对比度和噪声的图像,取值t应该不同,从而达到最好的提取效果