一种自适应的Harris角点检测算法
一种改进的Harris角点检测算法

1 算 法改进 思想
通 常情 况 下 , ri角点 检测 需 要 根据 Hars 图像 的特 性 ( 如尺 寸 , 理 、 度 等 )对 其 所 纹 灰 , 涉及到 的阈值( h e od V le、 T rs l au )局部 极大 h 值 的 邻 域 大小 ( i t 、 斯 窗 口 的 大 小 W d h) 高 ( a s dh ¥ 高 斯方 差( ) G u s t )a Wi 四个参数 进行 手动 调 整…。 文 所 研究 处 理 的 对 象具 有 角 本 点分 布 均 匀 , 个数 确 定 的 特 点 , 以提 取 图 所 像 角 点需 要 满 足 以 下 两 个 准 则 :1 每 个 角 () 点的附 近 邻域 内避 免 出现 多个 角 点 ; ) ( 角点 2 数 目和 图 像 的 长 、 宽有 关 , 此得 出 角点 区 据 间 。 角点 不 满 足 上述 准则 时 , 取 分 步方 当 采 法对 相应 的 参数 进 行调 整 。 同时 用二 分 法赋 值的思想对T rs o le h e l Va 和W it 进行调 h d u dh 整 , 到 角 点 数 位 于规 定 的 区 间范 围 内 。 直
中图 分 类号 : 6 G4
文 献标 识码 : A
文章 编 号 : 6 2 3 9 ( 0 o I () O 1 -0 1 7 - 7 12 1 ) 2b - 0 0 1
时 , 入 循 环 ,T rsodV le ri, x 进 heh l au e( nma), a
在 计 算 机 视 觉 研 究 领 域 , 体 的 轮 廓 物 特 征 点的 提 取 有 着 十分 重 要 的 意 义 。目前 , 常 用 的 角 点检 测 方 法 主 要 包 括 : 于 轮 廓 基 曲线 的 角 点检 测 方 法 、 于 灰 度 图 像 的 角 基 点 检 测 方 法 。 文 基 于 第 二 类 方 法 提 出一 本 种改 进 的 自适 应 Ha rs 点检 测 算 法 。 r i角
一种改进的Harris角点检测方法

图 2 改进 算 法
检 测准 确率 定义 为 :
=
( 检测 到 的角 点数 目/ 角 点数 目) 10 总 × 0%
( 失 的 角 点 数 目 +错 检 的 角 点 数 丢
xy ,
,
( 1 )
其中:
是 窗 口灰度 值 ; 1是 图像 灰度 函数 ;
ou +1) ( , 是位移无穷小量 ;w xy 是窗 口函数, ( ) ,
这 里选 用高斯 窗 口函数 , 以提高抗 干扰 能力 ; 和 一阶 灰度梯 度 。
O /
:_
0
:
结果。在计算机数字 图像处理中对角点有不同的 定 义 ,如 :二 维 图像 中亮度变 化剧 烈 的点 、 图像 边 界方 向变 化不 连续 的 点、 图像边 缘 曲线上 曲率 极大值的点等。由于定义不同,角点检测的方法 也 有不 同, 目前角 点检测 方法 主要 分为 两类 :一 种 是基 于 图像 灰度 的方 法 ,如 S na 法 【, rs u sn、 Har 】 i 法 [等 ; 3 】 另一 种基 于轮廓 的方 法 , K thn法[。 如 i e c 4 1 S h d 1 上 述各 种 角 点检测 方 法从 重 复率 和 角 c mit对 5 点周 围 的 局 部 区 域所 包 含 的信 息 量 方 面 做 了对 比 ,实验 结 果证 明 ,Har 角 点 检测 方 法 是效 果 rs i 最 好 的 ,它不 受光 照和 摄像机 位 姿变化 的影响 。 但 是它 对噪 声较 为敏感 ,且 由于 要人 为给 定系数 和 阈值 才 能获得 比较 理想 的角 点 ,而 的设 置 是 比较 盲 目的 ,只能 通过 多次 实验才 能 获得 较 为理 想 的角点 。另 外 由于特 征值 大 的点往 往集 中 在 某 些 区域 ,产 生 角点集 群现 象 ,这会 影 响到 图 像 匹配 【7 后期 的分 析 。 6】 _等 本 文 中 ,通 过优 化 角点 响应 函数 ,提 高角 点 检 测 的 精度 。通 过 对 角 点 响应 矩 阵 R的 分 块 处 理[ 9 8] I ,使角 点分 布均 匀 ,减 小角 点集 群现 象 。
特征匹配-Harris角点检测

特征匹配-Harris⾓点检测⼀、harris算法简介1.⾓点概述⾓点是图像很重要的特征,对图像图形的理解和分析有很重要的作⽤。
⾓点在保留图像图形重要特征的同时,可以有效地减少信息的数据量,使其信息的含量很⾼,有效地提⾼了计算的速度,有利于图像的可靠匹配,使得实时处理成为可能。
从图像分析的⾓度来定义⾓点可以有以下两种定义:⾓点可以是两个边缘的⾓点;⾓点是邻域内具有两个主⽅向的特征点;前者往往需要对图像边缘进⾏编码,这在很⼤程度上依赖于图像的分割与边缘提取,具有相当⼤的难度和计算量,且⼀旦待检测⽬标局部发⽣变化,很可能导致操作的失败。
基于图像灰度的⽅法通过计算点的曲率及梯度来检测⾓点,避免了第⼀类⽅法存在的缺陷,此类⽅法主要有Moravec算⼦、Forstner算⼦、Harris算⼦、SUSAN算⼦等。
本⽂主要介绍的Harris⾓点检测的算法原理。
2.Harris⾓点检测基本原理⼈眼对⾓点的识别通常是在⼀个局部的⼩区域或⼩窗⼝完成的。
如果在各个⽅向上移动这个特征的⼩窗⼝,窗⼝内区域的灰度发⽣了较⼤的变化,那么就认为在窗⼝内遇到了⾓点。
如果这个特定的窗⼝在图像各个⽅向上移动时,窗⼝内图像的灰度没有发⽣变化,那么窗⼝内就不存在⾓点;如果窗⼝在某⼀个⽅向移动时,窗⼝内图像的灰度发⽣了较⼤的变化,⽽在另⼀些⽅向上没有发⽣变化,那么,窗⼝内的图像可能就是⼀条直线的线段。
如下图:3、特征匹配流程3.1、根据准则,提取图像中的特征点3.2、提取特征点周围的图像块,构造特征描述符3.3、通过特征描述符对⽐,实现特征匹配⼆、Harris⾓点检测声明:为了更好地对 Harris⾓点检测算法进⾏分析,本次实验⼀共收集了纹理平坦、垂直边缘多、垂直边缘多的三个不同的场景,每个场景各收集了五幅的图⽚。
然后通过每个场景中正⾯、侧⾯、旋转、远近、光照五个不同的⽅⾯进⾏对⽐试验。
2.1、纹理平坦的场景(以书本为例)2.1.1、正⾯图及检测结果2.1.2、侧⾯图及检测结果2.1.3、旋转图及检测结果2.1.4 、远距离图及检测结果2.1.5 、光照图及检测结果实验结果分析与总结:Harris⾓点检测算⼦具有旋转不变性。
Harris角点检测原理详解

Harris⾓点检测原理详解关于⾓点的应⽤在图像处理上⽐较⼴泛,如图像匹配(FPM特征点匹配)、相机标定等。
⽹上也有很多博客对Harris⾓点检测原理进⾏描述,但基本上只是描述了算法流程,⽽其中相关细节并未作出解释,这⾥我想对有些地⽅做出补充说明,正所谓知其然知其所以然,如有不对,还望指正。
关于⾓点的应⽤在图像处理上⽐较⼴泛,如图像匹配(FPM特征点匹配)、相机标定等。
⽹上也有很多博客对Harris⾓点检测原理进⾏描述,但基本上只是描述了算法流程,⽽其中相关细节并未作出解释,这⾥我想对有些地⽅做出补充说明,正所谓知其然知其所以然,如有不对,还望指正。
1. 何为⾓点?下⾯有两幅不同视⾓的图像,通过找出对应的⾓点进⾏匹配。
再看下图所⽰,放⼤图像的两处⾓点区域:我们可以直观的概括下⾓点所具有的特征:>轮廓之间的交点;>对于同⼀场景,即使视⾓发⽣变化,通常具备稳定性质的特征;>该点附近区域的像素点⽆论在梯度⽅向上还是其梯度幅值上有着较⼤变化;2. ⾓点检测算法基本思想是什么?算法基本思想是使⽤⼀个固定窗⼝在图像上进⾏任意⽅向上的滑动,⽐较滑动前与滑动后两种情况,窗⼝中的像素灰度变化程度,如果存在任意⽅向上的滑动,都有着较⼤灰度变化,那么我们可以认为该窗⼝中存在⾓点。
3.如何⽤数学⽅法去刻画⾓点特征?当窗⼝发⽣[u,v]移动时,那么滑动前与滑动后对应的窗⼝中的像素点灰度变化描述如下:公式解释:>[u,v]是窗⼝的偏移量>(x,y)是窗⼝内所对应的像素坐标位置,窗⼝有多⼤,就有多少个位置>w(x,y)是窗⼝函数,最简单情形就是窗⼝内的所有像素所对应的w权重系数均为1。
但有时候,我们会将w(x,y)函数设定为以窗⼝中⼼为原点的⼆元正态分布。
如果窗⼝中⼼点是⾓点时,移动前与移动后,该点的灰度变化应该最为剧烈,所以该点权重系数可以设定⼤些,表⽰窗⼝移动时,该点在灰度变化贡献较⼤;⽽离窗⼝中⼼(⾓点)较远的点,这些点的灰度变化⼏近平缓,这些点的权重系数,可以设定⼩点,以⽰该点对灰度变化贡献较⼩,那么我们⾃然想到使⽤⼆元⾼斯函数来表⽰窗⼝函数,这⾥仅是个⼈理解,⼤家可以参考下。
计算机视觉中的角点提取与描述技术

计算机视觉中的角点提取与描述技术角点是指在图像或视觉场景中具有明显变化或特征的位置。
在计算机视觉中,角点提取与描述技术是一种重要的图像处理方法,用于检测和描述图像中的角点。
本文将介绍计算机视觉中的角点提取与描述技术的原理、方法和应用。
一、角点提取技术的原理和方法1. Harris角点检测算法Harris角点检测算法是最早的角点检测算法之一。
它基于图像灰度在不同方向上的变化,通过计算像素点周围的灰度变化来判断是否为角点。
该算法通过计算图像中每个像素的梯度矩阵,再计算矩阵的特征值来判断是否为角点。
2. Shi-Tomasi角点检测算法Shi-Tomasi角点检测算法是对Harris算法的改进。
它使用了特征值的最小值来判断像素是否为角点,相比于Harris算法更稳定且具有更好的鲁棒性。
该算法计算了图像中每个像素的特征点得分,然后选择得分最高的像素作为角点。
3. FAST角点检测算法FAST角点检测算法是一种高效的角点检测算法。
它通过比较周围像素的灰度值来检测角点。
该算法快速地选择候选角点并进行特征点检测,具有较快的速度和较好的鲁棒性。
4. 角点描述算法角点的描述是指将检测到的角点进行特征描述,以便后续的匹配和识别。
常用的角点描述算法包括SIFT(Scale-Invariant Feature Transform)、SURF(Speeded Up Robust Features)和ORB(Oriented FAST and Rotated BRIEF)等。
二、角点提取与描述技术的应用1. 物体识别与跟踪角点提取与描述技术在物体识别与跟踪中发挥了重要作用。
通过提取图像中的角点,并进行描述和匹配,可以实现对物体的识别和跟踪。
例如,在机器人导航中,可以利用角点提取与描述技术来实现对环境中的障碍物进行识别和跟踪。
2. 图像配准与拼接在图像拼接和图像配准中,角点提取与描述技术也是关键的步骤。
通过提取图像中的角点,并进行特征描述和匹配,可以对多幅图像进行配准和拼接。
Harris与SUSAN原理及实验结果分析

Harris 与SUSAN 角点检测算法原理与实验结果分析一.Harris 算法原理Harris 角点检测算法的基本原理是取以目标像素点为中心的一个小窗口,计算窗口沿任何方向移动后的灰度变化,并用解析形式表达。
设以像素点(x,y)为中心的小窗口在X 方向上移动u ,y 方向上移动v ,Harris 给出了灰度变化度量的解析表达式:2,,|,|,,()(x y x y x u y v x y x y I I E w I I w u v o X Y ∂∂=-=++∂∂∑∑ (1.1)其中,,x y E 为窗口内的灰度变化度量;,x y w 为窗口函数,一般定义为222()/,x y x y w eσ+=;I 为图像灰度函数,略去无穷小项有: 222222,,[()()2]2x y x y x y x y E w u I v I uvI I Au Cuv Bv =++=++∑(1.2)将,x y E 化为二次型有: ,[]x y u E u v M v ⎡⎤=⎢⎥⎣⎦(1.3)M 为实对称矩阵: 2,2x y x x y x y y I I I M w I I I ∙⎤⎡=⎥⎢∙⎢⎥⎣⎦∑ (1.4)通过对角化处理得到: 11,200x y E R R λλ-⎛⎫= ⎪⎝⎭ (1.5)其中,R 为旋转因子,对角化处理后并不改变以u,v 为坐标参数的空间曲面的形状,其特征值反应了两个主轴方向的图像表面曲率。
当两个特征值均较小时,表明目标点附近区域为“平坦区域”;特征值一大一小时,表明特征点位于“边缘”上;只有当两个特征值均比较大时,沿任何方向的移动均将导致灰度的剧烈变化。
Harris 的角点响应函数(CRF)表达式由此而得到:2(,)det()(())CRF x y M k trace M =- (1.6) 其中:det(M)表示矩阵M 的行列式,trace(M)表示矩阵的迹。
当目标像素点的CRF 值大于给定的阈值时,该像素点即为角点。
基于角点检测的自动点匹配算法

5. 张迁等,基于SUSAN算法的航空影像的自动配准, 测绘学报, 第32卷, 第3期, 2003年8月: 245-250.
6. Hu M K. Visual pattern recognition by moment invariants [J]. IRE Transactions on Inform Theory, Aug. 1962: 179-187.
Abstract For automatic registration of multi-spectral and multi-sensor remote sensing images, a new high accuracy point matching algorithm based on Harris corner detection is described in this paper. It makes full use of graphic point feature, gray-level pixel and location information. In the matching process, circular template is adopted to calculate similarity. Moreover, consistency checking method is used to make sure the matching accuracy... Experimental results on remote sensing image pairs with affine geometric transform showed that the algorithm could do accurate automatic matching and it outperforms traditional point matching algorithms both in accuracy and running speed.
特征检测之Harris角点检测简介

特征点又叫兴趣点或者角点。
常被用于目标匹配,目标跟踪,三维重建等应用中。
点特征主要指图像中的明显点,如突出的角点、边缘端点、极值点等等。
特征点具有以下三种特性:▪旋转不变性;▪光照不变性;▪视角不变性。
用于点特征提取的算子称为兴趣点提取(检测)算子。
常用的有▪Harris角点检测;▪FAST特征检测;▪SIFT特征检测;▪SURF特征检测。
预备数学实对称矩阵如果有n阶矩阵A,其矩阵的元素都为实数,且矩阵A的转置等于其本身,则称A为实对称矩阵。
性质:▪实对称矩阵A的不同特征值对应的特征向量是正交的;▪n阶实对称矩阵A必可相似对角化,且相似对角阵上的元素即为矩阵本身特征值。
对角化:优点:满秩的对角方阵,可以直接看出特征值,特征向量等重要特征。
卷积算子—Sobel算子主要用于边缘检测,分别对水平和垂直方向上的边缘敏感。
对图像任意一点使用会产生对应的梯度矢量或者其法矢量。
对噪声具有平滑抑制作用,但是得到的边缘较粗,且可能出现伪边缘。
该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。
如果以A代表原始图像,Gx 及Gy分别代表经横向及纵向边缘检测的图像,其公式如下:梯度计算公式梯度方向计算公式如果等于零,代表图像该处拥有纵向边缘,左边比右边要暗。
基础知识1、角点使用一个滑动窗口在下面三幅图中滑动,可以得出以下结论:▪左图表示一个平坦区域,在各方向移动,窗口内像素值均没有太大变化;▪中图表示一个边缘特征(Edges),如果沿着水平方向移动(梯度方向),像素值会发生跳变;如果沿着边缘移动(平行于边缘) ,像素值不会发生变化;▪右图表示一个角(Corners),不管你把它朝哪个方向移动,像素值都会发生很大变化。
所以,右图是一个角点。
2、角点类型下图展示了不同角点的类型,可以发现:如果使用一个滑动窗口以角点为中心在图像上滑动,存在朝多个方向上的移动会引起该区域的像素值发生很大变化的现象。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2008年5月May 2008计 算 机 工 程Computer Engineering 第34 第10期Vol 卷.34 No.10·人工智能及识别技术·文章编号:1000—3428(2008)10—0212—03文献标识码:A中图分类号:TP391一种自适应的Harris 角点检测算法赵万金,龚声蓉,刘纯平,沈项军(苏州大学计算机科学与技术学院,苏州 215006)摘 要:分析Harris 角点检测算子的实现原理及其不足,提出一种基于图像分块和邻近角点剔除策略的自适应Harris 角点检测算法,检症测出的角点均匀分布,有效避免了角点聚簇现象。
实验结果表明,该算法检测出的角点分布更均匀合理,能很好地适应图像拼接等实际应用。
关键词:角点检测;Harris 算子;特征提取Adaptive Harris Corner Detection AlgorithmZHAO Wan-jin, GONG Sheng-rong, LIU Chun-ping, SHEN Xiang-jun(School of Computer Science & Technology, Soochow University, Suzhou 215006)【Abstract 】This paper analyzes the theory of Harris operator, and points out its disadvantage. It proposes an auto-adaptive Harris operator based on the ideology of image break and neighboring point eliminating method. It makes the corners are well-proportioned distributing, and avoids too many corners stay together effectively. Experimental results show that the algorithm can detect corner more reasonable, and can be used in image mosaics well.【Key words 】corner detection; Harris operator; feature extraction1 概述角点是二维图像亮度变化剧烈或图像边缘曲线上曲率极大值的点,它决定了目标的轮廓特征,被广泛应用于摄像机标定、虚拟场景重建、运动估计、图像配准等计算机视觉处理任务中[1],这些点在保留图像图形重要特征的同时,可以有效地减少信息的数据量,使得实时处理成为可能。
目前,角点检测方法主要分为2类:基于图像边缘的方法[2]和基于图像灰度的方法[3]。
前者往往需要对图像边缘进行编码,这在很大程度上依赖于图像的分割和边缘提取,具有相当大的难度和计算量,且一旦待检测目标局部发生变化,很可能导致操作的失败,因此,这种方法的使用范围很小。
基于图像灰度的方法主要通过计算点的曲率及梯度来检测角点,避开了这些缺陷,目前此类方法主要有Harris 算子[3]、Moravec 算子[4]及Susan 算子[5]等。
Schmid [6]对Harris, Moravec 等基于图像灰度的角点检测方法从重复率和角点周围的局部区域所包含的信息量2个方面进行了对比。
实验结果表明,Harris 角点检测法具有最好的效果。
但在实际应用中,Harris 角点检测算法须人为给出一个阈值T 才能得到较理想的角点,即在角点检测程序运行过程中,当算法计算出图像中的局部极值点后,提示用户给出一个阈值,算法根据用户提供的阈值最终确定检测出的角点。
而T 的取值依赖于图像的属性,特别是颜色深浅不同,难以确定,使得用户在设定具体阈值时比较盲目,只能多次设定比较后才能获得相对理想的角点。
另外,往往特征值较大的点只集中在某些区域,这样可能导致检测出的角点分布不均匀;而如果降低T ,尽管角点分布总体上趋于均匀和合理,但同时又导致角点紧挨在一起,产生角点聚簇的现象,这都影响了后期的分析和处理,如图像匹配中的图像几何映像关系的充分描述等。
2 Harris 角点检测2.1 检测原理Harris 角点检测算法是一种基于信号的点特征提取算 子[3],其原理是将所处理的图像窗口w (一般为矩形区域)向任意方向移动微小位移(x , y ),则其灰度改变量可定义为2,,,,[]x y u v x u y v u v E w I I ++=−=∑222,,[(,u v u vw xX yY O x y )]++=∑222Ax Cxy By ++=T (,)(,)x y x y M (1)其中,X 和Y 是一阶灰度梯度,可对图像求卷积得(1,0,1)IX I x ∂==⊗−∂ (1,0,1)I Y I y ∂==⊗−∂ (2)为了提高抗噪能力,对图像窗口进行了高斯平滑,选用如下的高斯窗口:222,1exp[()/]2u v w u v δ=−+ (3)另外定义22,,(A X w B Y w C XY w )=⊗=⊗=⊗ (4)基金项目:国家自然科学基金资助项目(60673092);教育部科研重点基金资助项目(207040);江苏省高技术研究计划基金资助项目(BG2005019)作者简介:赵万金(1983-),男,硕士研究生,主研方向:图像处理;龚声蓉,教授;刘纯平,副教授、博士;沈项军,博士 收稿日期:2007-07-19 E-mail :210513088@—212—和矩阵:A C CB ⎡=⎢⎣⎦M ⎤⎥ (5)注意到,E 与局部自相关函数很接近,M 描述了这个自相关函数在原点的形状。
设1λ和2λ分别是M 的2个特征值。
1λ和2λ与局部自相关函数的主曲率成比例,构成一个对M的旋转不变数。
此时,可以通过判断1λ和2λ的值的情况来判断平坦区、角点和边沿,有以下3种情况:(1)2个曲率都很小,说明局部自相关函数很平坦;(2)一个曲率大,另一个曲率小。
说明局部自相关函数呈现山脊状,则E 沿着山脊的变化很小,而垂直于山脊的变换很大,此处为一个边沿;(3)2个曲率都很大,说明局部自相关函数有一个尖峰,则E 沿任何方向变化都很激烈,此处为一个角点。
Harris 检测原理如图1所示。
图1 Harris 检测原理于是,Harris 特征点可以定义为下式的局部区域最大值:2()()Det kTr −M M (6)其中,Tr (M )表示矩阵M 的迹;Det (M )表示矩阵M 的行列式值;k 值Harris 推荐为0.04。
在具体的计算中,注意下面2个关系:12()Tr A B λλ=+=+M (7)212()Det AB C λλ==−M (8)则其角点/边缘响应函数CRF 可定义为2()2R AB C k A B =−−+ (9)2.2 算法步骤从以上分析可以看出,应用Harris 方法提取图像中角点的过程可以分为以下几步:(1)计算图像像素点在水平和垂直方向上的梯度,以及两者的乘积,得到M 中4个元素的值:22x x y x yy I I I I I I ⎡⎤=⎢⎢⎥⎣⎦M ⎥x (10) 其中,2x x I I I =×;2y y y I I I =×。
(2)对图像进行高斯滤波,得到新的M 。
离散二维零均值高斯函数为222(exp()2)x y Gauss σ+=−(11) (3)计算原图像上对应的每个像素点的兴趣值,即R 值。
22222{()}{x y x y x x R I I I I k I I =×−−+2} (12)(4)选取局部极值点。
Harris 方法认为,特征点是局部范围内的极大兴趣值对应的像素点。
(5)设定阈值,选取一定量的角点。
3 自适应Harris 角点检测算法3.1 算法思想本文算法采用图像分块和邻近角点剔除的策略避免阈值的设置,并保证角点分布的均匀和避免角点聚簇的产生。
文献[7]对遥感影像图像进行角点检测时,在对图像分块处理之前,先对整幅图像采用阈值迭代策略,实验表明该策略在大多数普通图像中效果并不理想,而且其需要的特征点数量参考值的确定也存在不确定性,因此,本文算法在进行角点筛选之前首先对图像进行分块,这样能保证角点分布的均匀。
在对图像进行分块时,为避免大面积越界分块的存在[7],同时保证在对较大图像处理时有同样的效果,采用固定块数的分块法,而非固定单位边长的方法。
对每一图像块中被检测出的角点,将其按R 值大小进行排序,选择保留R 值相对较大的角点。
至此,在图像各个区域中特征显著的角点均已被检测出并被保留,实现了检测出的角点分布的均匀性。
但此时,可能在一个角点很邻近的周围还存在其他的角点,即在局部的区域可能会出现角点聚簇的现象,这可能导致在特征点匹配的处理时误匹配几率的显著增加,因此,必须采用一定的策略减弱或消除这种现象。
本文在实现角点的均匀分布之后,再加入邻近点剔除策略:选用一个模板(如3×3)对整幅图像进行处理,若在该模板下存在不止一个的角点,则只保留其R 值最大的角点,以达到剔除邻近点的目的,实验表明,该策略能较好地抑制角点聚簇现象的产生。
至此,完成了对整幅图像的角点检测。
3.2 算法描述由以上分析可以看出,本文提出的自适应Harris 角点检测算法实施过程可以描述如下:对图像中的每个像素点操作,得到矩阵M ,即式(10),利用高斯滤波求出新的M ,再计算R 值。
对图像进行分块,对每一图像块,检测图像块中存在的角点,将检测出的角点((,)C i j (,)1,1,1C i j i M j N =∈∈,其中,M 1, N 1分别为图像块的宽和高)的R 值存储在数组Matrix [Sum ]中,其中,Sum 为数组的大小,即角点的个数。
之后,对Matrix [Sum ]按R 值的大小进行排序,假设进行排序(本文选择按从大到小排序)后的数组为'[]Matrix Sum 。
然后选取数组'[]Matrix Sum 中R 值相对较大的角点作为最终被检测出的角点,即在Sum 个角点中选取,(0,1k Sum k ]×∈个角点作为最终的角点。
为了保证各分块中均有角点被保留利用,本文设计了循环迭代算法对k 值进行求解:在(0,1)内取一较小的值作为k 的初始值(本文取k =0.02),以k =k +step 进行循环迭代(本文取step =0.02),判断k 值,若k =1,终止迭代;否则,判断含有角点的各图像块中是否有角点被保留,如果是,则终止迭代,取此时的k 值。