角点检测

角点检测

角点(Corner Point)是图像处理中一个非常重要的特征,它能决定图像中观测目标的形状,位置,角度等等。

目前角点的检查算法主要主要可以分为两种:基于边缘的角点提取算法和基于灰度的角点提取算法。

基于边缘的角点提取算法首先对图像进行分割和边缘提取,而角点是两条以上边缘的交点,这种算法对图像分割和边缘提取的要求很高,而且算法和处理步骤比较复杂,当图像中边缘发生中断时,就不能很好的提取角点。

基于灰度的角点提取算法通过计算梯度和曲率来寻找角点。该方法认为角点是图像在局部范围内灰度和梯度变化剧烈的极大点,这类算法主要是通过计算曲率和梯度来检测角点,因为基本上不用事先对图像进行边缘提取和分割,这类算法在实际应用中比较广泛。


基于边缘的角点检测算法

基于边缘的提取算法首先对图像进行分割,这类算法的基本理论认为角点首先是一个边缘上的点,是一种特殊的边界点,因此,按照这种基本理论,角点的检测是基于边缘的提取。常用到的方法有以下几种:
  1. 用链码表示提取出的边界,计算边界的曲率,认为曲率的局部最大点对应的是角点;
  2. 根据角点的一种定义,角点是边界的角点,对边缘提取中提取的边界进行检测,当边界相交时他们的交点就是图像中的角点;
  3. 用形态学原理对提取的边界进行腐蚀和膨胀运算,搜索图像中的凹点和凸点,从而找出角点;
  4. 利用边缘检测算子,对检验出来的边界进行拟合处理,拟合出的任意两条直线的交点作为我们要检测的角点
基于边缘的检测算法的基础就是要检测出图像的边缘,后续的工作都是在边缘检测的基础上来完成的。因此,边缘检测的质量是这类算法检测角点的基础,

1.基于freeman链码的角点检测方法

一条数字化二值轮廓曲线可以用方向Freeman链码表示,这种检测方法先分割图像,然后提取图像边界的Freeman链码,将方向改变速率大的点标记为角点。Freeman链码是指相邻两像素连线的八种可能方向值。

ai表示第i个像素指向第i+1个像素方向的链码,每个链码指定八个方向中的一个,得到一个集合ai, 并且 ,按照逆时针的方向搜索链码,定义差别码为:
可以得到差别码的数值分别为 再根据厦门的原则判断是否为角点。

其中, 分别表示这三个点的坐标,给定一个阈值T,如果ai > T,则该点可能是一个角点,比较这些角点的曲率,取其中最大的点为角点。


可以看出,该方法计算比较简单,易于实现"但是,这种方法对于图像分割的好坏有很强的依赖性。并且由于需要计算夹角,对于噪声的抵抗能不强,在进行检测前必须对图像进行去噪声的处理。


2. 基于B样条的角点检测方法

这种方法利用图像分割技术首先求出链码来表示边界,然后用B样条来表述图像中的边界,并在此基础上进行角点的提取。具体步骤如下:
 平面上的曲线X,Y的参数方程
                            


如果一个候选点能够同时满足 ,那么就认为它是一个角点,其中|| . ||表示范数。


基于灰度的角点提取算法

1 Moravec算子

这种方法计算像素沿着不同方向的平均灰度变化,选取最小的灰度方差作为兴趣值,


其中,(c,r) 为中心像素的坐标,w为影响窗口的半径, k = w/2取整,f c,r为像素灰度值,G中最小值为兴趣值,选择一个经验阈值,将兴趣值大于该值得点作为候选点。
算法步骤:
  1. 读取图像
  2. 图像预处理,对图像进行滤波去噪
  3. 选择一个经验阈值
  4. 计算四个方向最小灰度方差,取其中最小的为兴趣值
  5. 比较最小的兴趣值与阈值的大小,将兴趣值大的点作为候选点
  6. 提取角点
由于Morave"算子仅利用了四个方向的相关性,因此,算子的响应是各向异性的"同时,该算子对强边界敏感,实现的速度较快。

2 Harris算子

Harris算子利用泰勒级数展开式将移动方向进行扩展,同时引入平滑因子,增强抗干扰能力。




算法流程图


Harrls算法稳定性高,对噪声不敏感"提取的特征点均匀并且合理,即使存在图像的旋转和灰度的变化!噪音等影响,也比较稳定。



本文是读一篇硕士论文整理下来的笔记。用的时候方便找。
源论文: 《图像角点检测算法研究》郭晓冬 2007.6
论文链接:
http://www.cnki.net/KCMS/detail/detail.aspx?dbcode=CMFD&QueryID=5&CurRec=11&dbname=CMFD0911&filename=2008098573.nh&urlid=&yx=&uid=WEEvREcwSlJHSldRa1Fhak1iSFd1cHZjL0I4TFNDVmkxOVV2QUZVdnlGYWRVTER0SmZmcHJCUWRXU3c2bWhSVFZ3PT0=$9A4hF_YAuvQ5obgVAqNKPCYcEjKensW4IQMovwHtwkF4VYPoHbKxJw!!&v=MTM5NjY2ZVp1ZG9GeS9oVzdyTVYxMjdGck94RnRUTHJKRWJQSVI4ZVgxTHV4WVM3RGgxVDNxVHJXTTFGckNVUkw=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值