角点检测方法总结
基于轮廓曲线的角点识别方法

0 前 言
图像 中 的 角 点 包 含 着 图 像 的 重 要 信 息 , 为 具 有
f i c a t i o n b a s e d o n t h e c o r n e r o f t h e c o n t o u r c u r v e , b y j u d g i n g t h e d i r e c t i o n o f e d g e p o i n t s , d e t e r mi n i n g t h e
( C o l l e g e o f A u t o ma t i o n S c i e n c e a n d E n g i n e e r i n g ,S o u t h C h i n a Un i v e r s i t y o f T e c h n o l o g y ,G u a n g z h o u 5 1 0 6 4 0,C h i n a )
r o u g h c o r n e r s f i r s t l y, t h e n gr a du a l l y e l i mi n a t i n g t h e p s e u d o — c o r n e r f r om s ma l l s c a l e t o l a r g e s c a l e, in f a l l y a c hi e v i n g c o r n e r d i s t i n g u i s h e d. Th e e x p e r i me n t a l r e s u l t s h o ws t ha t t h e t i me o f t h i s me t ho d o n c o r n e r e x —
角点检测方法研究

复杂 .从而会影 响到最终 的角点检测结 果 。Fem re a n
的数据量 . 使其信 息 的含量 很高 . 有效 地提 高 了计 算 速度. 有利 于图像 的可靠 匹 配 . 其实 时处理 成为 可 使
能。角点在三维场景 重构 、 动估计 、 运 目标 跟 踪 、 目标
链 码 使 用 8个 方 向码 作 为 8邻 接 点 的 定 义 . 曲线 起 由
的图像 中的边界轮 廓点进行顺 序编码 . 到边缘轮廓 得
链码: 最后根 据边缘轮廓链码 对图像 中的角点进行描
述和提取 在这种方法 中要较 多地依赖前期 的图像分
割结果 . 而由于 图像 的区域分 割本身就是 一项 比较复
杂的工作 . 这样 就 使 得 后 期 的 角 点 检 测 工 作 变 得 更 加
具 有 各 向异 性 . 对 强 边 界敏 感 。 且 H r s Se hn借 鉴 Moae ar 和 t e i p rvc的 思 想 .提 出 了 著 名 的 Pesy角 点 检 测 算 子 【 lse 8 算 子 运 用 图像 灰 度 1 该 的一 阶导 数来 估 算 自相 关 矩 阵 . 当某 一 像 素 点 的 自相 关 矩 阵 的特 征 值 都 非 常 大 时 . 则认 为 该 点 为 角 点 。 定 义 任 一 像 素点 的 能 量 为 :
小 值 作 为 对 应 像 素 的 响 应 函 数 C F的 衡 量 值 ( 兴 R 即
趣值 ) .将 在 一 定 范 围 内 最 有 最 大 角 点 响 应 函数 值 的
九
三
收 稿 日期 :0 8 0 — 7 修 稿 日期 : 0 8 0 3 20 — 6 2 2 0 —1 —1
期
双目立体视觉中角点检测的方法研究

双目立体视觉中角点检测的方法研究王苏娅【摘要】双目立体视觉是计算机视觉研究中最为活跃的一个分支,是智能机器人科学发展的重要标志.它是由不同位置的2台或者1台摄像机(CCD)经过移动或旋转拍摄同一场景,通过图像获取、摄像机标定、特征提取和匹配,进而通过计算空间点在2幅图像中的视差,获得场景的深度信息.本文在SUSAN角点检测的基础上,提出了基于图像平均灰度的阈值选取方法,使阈值的选取不再盲目,保证了用SUSAN算法进行角点检测的实用性和适用性.仿真试验表明,用该方法进行特征点的提取,减少了匹配时间,提高了匹配精度,得到了较好的效果.【期刊名称】《新技术新工艺》【年(卷),期】2013(000)004【总页数】3页(P55-57)【关键词】立体视觉;特征点提取;SUSAN算法;平均灰度【作者】王苏娅【作者单位】西安铁路职业技术学院,陕西西安710014【正文语种】中文【中图分类】TP391.4计算机视觉是一门研究如何使机器“看”的科学,其研究目的是使计算机具有通过二维图像信息来认知三维环境信息的能力,这种能力不仅使机器能感知三维环境中物体的几何信息(如形状、位置、运动姿态等),而且能进一步对它们进行描述、存储、识别与理解[1]。
双目立体视觉是计算机视觉的一个重要分支,即由不同位置的2台或者1台摄像机(CCD)经过移动或旋转拍摄同一幅场景,通过计算空间点在2幅图像中的视差,获得该点的三维坐标值。
计算机双目立体视觉系统包括图像获取、摄像机标定、特征提取、图像匹配和三维重建5个部分,如图1所示。
特征点的提取和匹配问题是本文研究的关键问题,在分析对比了Harris角点检测算法[2]、SIFT算法及SUSAN角点检测[3-4]算法等几个常用算法后,深入讨论了SUSAN角点检测算法,并对其进行了一定优化,最后结合实际图形进行了特征点的提取和匹配。
图1 计算机双目立体视觉系统1 SUSAN原理Harris和Stephen借鉴Moravec的思想,提出了著名的Plessey角点检测算子[5]。
达芬奇边角定位

达芬奇边角定位达芬奇边角定位(Corner Localization)是一种计算机视觉中的图像处理技术,用于精确定位图像中的角点。
角点是图像中两条边交汇的位置,具有明显的边缘变化。
达芬奇边角定位技术的应用范围广泛,包括图像拼接、目标检测、运动跟踪等领域。
一、角点检测的意义在图像中,角点是一种重要的特征点,具有以下几个特点:1. 角点是图像中边缘变化最为明显的位置,可以用来标识物体的边界;2. 角点在不同尺度下具有不变性,对图像缩放和旋转具有较好的鲁棒性;3. 角点是稀疏的,相比于图像中的其他像素点,角点的数量相对较少,因此可以用来进行特征匹配和跟踪。
二、达芬奇边角定位算法原理达芬奇边角定位算法的基本原理是通过检测图像中的边缘,并计算边缘的方向和梯度。
根据边缘的方向和梯度,可以判断该点是否为角点。
1. 边缘检测需要对图像进行边缘检测。
常用的边缘检测算法有Sobel算子、Canny算子等。
这些算法可以提取图像中的边缘信息,并计算边缘的方向和梯度。
2. 梯度计算在边缘检测之后,需要计算每个像素点的梯度。
梯度表示图像中像素值的变化程度,可以用来判断边缘的强度和方向。
常用的梯度计算方法有Sobel算子和拉普拉斯算子等。
3. 角度计算在计算梯度之后,可以根据梯度的方向计算角度。
角度表示边缘的方向,可以用来判断该点是否为角点。
常用的角度计算方法是使用反正切函数。
4. 角点判断通过计算边缘的方向和梯度,可以判断该点是否为角点。
一般来说,如果该点的梯度大于一定阈值,并且在其周围的邻域内没有其他边缘点,则可以认定该点为角点。
三、达芬奇边角定位的应用达芬奇边角定位技术在计算机视觉中有着广泛的应用。
以下是一些典型的应用场景:1. 图像拼接在图像拼接中,达芬奇边角定位可以用来确定重叠区域的角点,从而实现图像的自动对齐和融合。
通过检测角点,可以准确地找到两幅图像之间的对应点,进而实现图像的拼接。
2. 目标检测在目标检测中,达芬奇边角定位可以用来提取图像中的特征点,并根据这些特征点进行目标匹配。
角点检测技术研究及进展

文 章 编 号 : 0 35 5 ( 0 O 0 - 0 0 0 1 0—8 0 2 1 )304 —5
角点 检 测 技 术 研 究 及 进 展
Re e r h a o r s n Co n r De e to s a c nd Pr g e s i r e t c i n
新 研 究 动 态 及 发 展方 向 。 【 键 词 1 角点 检 测 , 特 征 提 取 ,性 能评 价 关
中图 分 类号 : P 9 . 】 F 3 1 4 文献 标 识 码 :A
ABS TRACT Co n r i i niia o a e t e o m a e . Co n rde e to a e n w ie y u e n m a m a e p oc s i a ks r e s a sg fc ntlc lf a ur fi g s r e t c in h s b e d l s d i ny i g r e sng t s i l di i a e r git a i ncu ng m g e s r ton. i a e u e s a ng nd m g nd r tndi a pa t r te n r c gnto e o iin. T h c n r e e ton e or e d t c i m e ho we e r viwe t ds r e e d. c t go ie nd c m pa e n hi p p . The e f m a e e al ton o or e etc i a i e tg e a e rz d a o r d i t s a er p ror nc v ua i f c n r d e ton w s nv s iatd. Fi ly t e itn na l. he xs i g pr e s 1t s e e r h p o e s a d d v o oblm . a e tr s a c r gr s n e elpmen r n r na y ed tt e ds we e a l z .
完整版Harris角点检测算法编程步骤及示例演示

Harris 角点检测算法编程步骤及示例演示也不说那么多废话了,要介绍啥背景意义之类的,角点检测,顾名思义,就是检测角点,最简单的就是两条线的交点了,还有比如下国际象棋的棋盘格子的交点之类的,反正就是检测这些点。
简单将Harris 角点检测算法的思想说下,就是拿一个小窗在图像中移动,通过考察这个小窗口内图像灰度的平均变换值来确定角点。
1)如果窗口内区域图像的灰度值恒定,那么所有不同方向的偏移几乎不发生变化;2)如果窗口跨越一条边,那么沿着这条边的偏移几乎不发生变化,但是与边垂直的偏移会发生很大的变化;3)如果窗口包含一个孤立的点或者角点,那么所有不同方向的偏移会发生很大的变化。
面给出具体数学推导:设图像窗口平移量为( u,v) ,产生的灰度变化为E(u,v),有E(u,v)二sum[w(x,y)[l(x+u,y+v)-l(x,y)F2棋中w(x,y)为窗口函数, l(x+u,y+v为平移后的灰度值,l(x,y)为平移前的灰度值。
有泰勒公式展开可得:l(x+u,y+v)=l(x,y)+lx*u+ly*v+0(uA2,v八2);lx,ly分别为偏微分,在图像中为图像的方向导数因此E(u,v)=sum[w(x,y) [lx*u+ly*v+O(u八2,v八2)]八2],可以近似得到E(u,v)=sum[w(x,y) [lx*u+ly*v]^2],即E(u,v)二[u,v][lx八2,lx*ly;lx*ly,ly八2][u,v]T令M=[lx八2,lx*ly;lx*ly,ly八2],因此最后对角点的检测成了对矩阵M的特征值的分析了,令M 其特征值为x1,x2;当x1>>x2或者x2>>x1,则检测到的是边缘部分;当x1,x2都很小,图像窗口在所有移动的方向上移动灰度级都无明显变化.当X1,X2都很大时且相当,检测到的是角点。
编程时用x1,x2不方便,因此定义角点响应函数;R二det(M)-k(trace(M))八2;其中det(M)为矩阵M的行列式,trace(M)为矩阵M的迹。
棋盘格检测方法
棋盘格检测方法
棋盘格检测可以采用局部平均自适应阈值化、图像膨胀、四边形检测和角点检测等方法。
具体步骤如下:
1. 局部平均自适应阈值化:用于分离各个黑块四边形的衔接,通过膨胀白色像素点来缩小黑块四边形并断掉衔接。
2. 图像膨胀:通过膨胀操作,进一步分离各个四边形。
3. 四边形检测:计算每个轮廓的凸包,进行多边形检测,判断是否只有四个顶点,若是则为四边形。
再利用长宽比、周长和面积等约束去除一些干扰四边形。
4. 角点检测:将每个四边形作为一个单元,根据邻近关系进行排序。
然后,取对角两个四边形相对的两个点的连线的中间点作为角点。
无邻近四边形的为干扰四边形,两个邻近四边形为边界处四边形,四个邻近四边形为内部四边形。
此外,为了提高棋盘格检测的稳定性和可靠性,可以考虑以下因素:
1. 局部自适应阈值化的窗口大小设置。
2. 膨胀的次数。
3. 该流程是否需要多次重复操作。
以上信息仅供参考,如有需要,建议咨询计算机视觉领域专业人士。
简述fast角点及其算法原理和实现过程
简述fast角点及其算法原理和实现过程FAST角点检测算法是一种用于在图像中快速检测角点的方法。
它的全称是Features from Accelerated Segment Test,即通过加速的线段测试提取特征。
FAST角点检测算法具有快速、稳定和鲁棒性强的特点,在计算机视觉和图像处理领域被广泛应用。
FAST角点检测算法的原理是基于图像中的像素点与其周围像素点之间的亮度差异。
根据角点的定义,角点处的像素点与其周围像素点具有明显的亮度差异。
FAST算法通过在像素点周围的圆上选择一组像素点,通过简单的亮度比较来判断是否为角点。
具体来说,FAST 算法选取一个像素点,选择与其相邻的16个像素点,并设定一个阈值t。
如果在这16个像素点中有n个像素点的亮度与中心像素点的亮度之差超过阈值t,且这n个像素点连续分布在圆上或圆上的某一段,那么该像素点就被判定为角点。
FAST角点检测算法的实现过程可以分为以下几个步骤:1. 选择阈值t和连续像素个数n:根据具体应用场景,选择合适的阈值t和连续像素个数n。
阈值t的选择直接影响到检测到的角点数量和质量,过高的阈值会导致角点数量过少,而过低的阈值则会导致角点数量过多。
连续像素个数n的选择则取决于角点的大小和形状。
2. 对图像进行灰度化处理:将彩色图像转换为灰度图像,以便于后续的像素亮度比较。
3. 遍历图像像素:从图像的第二行第二列像素开始遍历,对于每一个像素点,判断其是否为角点。
4. 判断像素点是否为角点:对于每一个像素点,计算其与周围16个像素点之间的亮度差异,如果有n个像素点的亮度差异超过阈值t,且这n个像素点连续分布在圆上或圆上的某一段,那么该像素点就被判定为角点。
5. 非极大值抑制:由于FAST算法的判定条件较宽松,同一个角点可能会被多个像素点检测到。
因此,在检测到角点后,需要进行非极大值抑制,保留亮度最大的角点。
通过以上步骤,就可以实现FAST角点检测算法。
关键点检测技术简介
关键点检测技术简介关键点检测技术是计算机视觉领域中的一项重要技术,它可以在图像或视频中自动检测出一些重要的特征点,这些特征点可以用于图像匹配、目标跟踪、三维重建等应用。
本文将对关键点检测技术进行简要介绍。
一、关键点检测的基本原理关键点检测的基本原理是在图像中寻找一些具有显著性、不易受到图像变换影响的特征点。
这些特征点可以是角点、边缘点、斑点等。
在检测过程中,通常会使用一些特定的算法来寻找这些特征点,例如Harris角点检测算法、SIFT算法、SURF算法等。
二、常用的关键点检测算法1. Harris角点检测算法Harris角点检测算法是一种基于图像灰度变化的角点检测算法。
它通过计算图像中每个像素点的灰度值变化率,来判断该点是否为角点。
该算法简单易懂,计算速度快,但对于一些复杂的图像场景,检测效果可能不太理想。
2. SIFT算法SIFT算法是一种基于尺度空间的关键点检测算法。
它通过在不同尺度下对图像进行高斯滤波,来寻找具有不同尺度的特征点。
该算法具有较好的旋转、缩放不变性,但计算量较大,对于实时性要求较高的应用场景不太适用。
3. SURF算法SURF算法是一种基于加速图像特征点检测的算法。
它通过使用快速哈希表等数据结构,来加速特征点的匹配和识别。
该算法具有较好的计算速度和鲁棒性,但对于一些复杂的图像场景,检测效果可能不太理想。
三、关键点检测的应用关键点检测技术在计算机视觉领域中有着广泛的应用。
例如,在图像匹配中,可以使用关键点检测技术来寻找两幅图像中的相同特征点,从而实现图像的对齐和融合。
在目标跟踪中,可以使用关键点检测技术来跟踪目标的运动轨迹。
在三维重建中,可以使用关键点检测技术来提取物体表面的特征点,从而实现三维模型的重建。
关键点检测技术是计算机视觉领域中的一项重要技术,它可以为图像匹配、目标跟踪、三维重建等应用提供有力的支持。
随着计算机视觉技术的不断发展,关键点检测技术也将不断得到改进和完善,为更多的应用场景提供更好的服务。
HarrisCorner(Harris角检测)
HarrisCorner(Harris⾓检测)在做图像匹配时,常需要对两幅图像中的特征点进⾏匹配。
为了保证匹配的准确性,所选择的特征必须有其独特性,⾓点可以作为⼀种不错的特征。
那么为什么⾓点有其独特性呢?⾓点往往是两条边缘的交点,它是两条边缘⽅向变换的⼀种表⽰,因此其两个⽅向的梯度变换通常都⽐较⼤并且容易检测到。
这⾥我们理解⼀下Harris Corner ⼀种⾓点检测的算法⾓点检测基本原理:⼈们通常通过在⼀个⼩的窗⼝区域内观察点的灰度值⼤⼩来识别⾓点,如果往任何⽅向移动窗⼝都会引起⽐较⼤的灰度变换那么往往这就是我们要找的⾓点。
如下图右下⾯我们看⼀下Harris的数学公式,对于[x,y]平移[u,v]个单位后强度的变换有下式,I(x+u,y+v)是平移后的强度,I(x,y)是原图像像素。
对于括号⾥⾯的值,如果是强度恒定的区域,那么它就接近于零,反之如果强度变化剧烈那么其值将⾮常⼤,所以我们期望E(u,v)很⼤。
其中w是窗函数,它可以是加权函数,也可以是⾼斯函数利⽤⼆维泰勒展开式我们有所以其中⼀阶可以近似为于是我们可以给出Harris Corner的如下推导,其中Ix,Iy是x,y⽅向的Gradient模,乘以位移得到位移后的量对于⼩的位移,我们可以⽤双线性插值⽅法近似:其中M为2*2矩阵如下在本质上我们可以把⼆次项看成⼀个椭圆函数,我们对M进⾏特征值分析有λ1,λ2根据λ1,λ2的值我们可以把其分为三类:1.λ1,λ2都很⼩且近似,E在所以⽅向接近于常数;2.λ1>>λ2,或者λ2>>λ1, E将在某⼀⽅向上很⼤;3.λ1,λ2都很⼤且近似,E将在所以⽅向上很⼤;如图所⽰:最后我们通过计算⾓点响应值R来判断其属于哪个区间其中k⼀般为常数取在0.04-0.06间。
算法步骤:1.计算图像x,y⽅向的梯度I x,I y2.计算每个像素点的梯度平⽅3.计算梯度在每个像素点的和4.定义在每个像素点的矩阵H,也就是前⾯的M5.计算每个像素的⾓点响应6.设置阈值找出可能点并进⾏⾮极⼤值抑制代码:close allclear allI = imread('empire.jpg');I = rgb2gray(I);I = imresize(I,[500,300]);imshow(I);sigma = 1;halfwid = sigma * 3;[xx, yy] = meshgrid(-halfwid:halfwid, -halfwid:halfwid);Gxy = exp(-(xx .^ 2 + yy .^ 2) / (2 * sigma ^ 2));Gx = xx .* exp(-(xx .^ 2 + yy .^ 2) / (2 * sigma ^ 2));Gy = yy .* exp(-(xx .^ 2 + yy .^ 2) / (2 * sigma ^ 2));%%apply sobel in herizontal direction and vertical direction compute the %%gradient%fx = [-1 0 1;-1 0 1;-1 0 1];%fy = [1 1 1;0 0 0;-1 -1 -1];Ix = conv2(I,Gx,'same');Iy = conv2(I,Gy,'same');%%compute Ix2, Iy2,IxyIx2 = Ix.*Ix;Iy2 = Iy.*Iy;Ixy = Ix.*Iy;%%apply gaussian filterh = fspecial('gaussian',[6,6],1);Ix2 = conv2(Ix2,h,'same');Iy2 = conv2(Iy2,h,'same');Ixy = conv2(Ixy,h,'same');height = size(I,1);width = size(I,2);result = zeros(height,width);R = zeros(height,width);Rmax = 0;%% compute M matrix and corner responsefor i = 1:heightfor j =1:widthM = [Ix2(i,j) Ixy(i,j);Ixy(i,j) Iy(i,j)];R(i,j) = det(M) - 0.04*(trace(M)^2);if R(i,j)> RmaxRmax = R(i,j);endendend%% compare whith thresholdcount = 0;for i = 2:height-1for j = 2:width-1if R(i,j) > 0.01*Rmaxresult(i,j) = 1;count = count +1;endendend%non-maxima suppressionresult = imdilate(result, [1 1 1; 1 0 1; 1 1 1]); [posc,posr] = find(result == 1);imshow(I);hold on;plot(posr,posc,'r.');本⽂原创,转载请注明出处。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
角点检测(Corner Detection)
角点检测(Corner Detection)是计算机视觉系统中用来获得图像特征的一种方法,广泛应用于运动检测、图像匹配、视频跟踪、三维建模和目标识别等领域中。
也称为特征点检测。
角点通常被定义为两条边的交点,更严格的说,角点的局部邻域应该具有两个不同区域的不同方向的边界。
而实际应用中,大多数所谓的角点检测方法检测的是拥有特定特征的图像点,而不仅仅是“角点”。
这些特征点在图像中有具体的坐标,并具有某些数学特征,如局部最大或最小灰度、某些梯度特征等。
现有的角点检测算法并不是都十分的鲁棒。
很多方法都要求有大量的训练集和冗余数据来防止或减少错误特征的出现。
角点检测方法的一个很重要的评价标准是其对多幅图像中相同或相似特征的检测能力,并且能够应对光照变化、图像旋转等图像变化。
角点检测的方法有:Moravec角点检测算法,FAST角点检测算法,Harris角点检测法和
shi_tomas角点检测法等。
1.1.1Moravec角点检测算法
Moravec角点检测算法Moravec角点检测算法是最早的角点检测算法之一。
该算法将角点定义为具有低“自相关性”的点。
算法会检测图像的每一个像素,将像素周边的一个邻域作为一个patch,并检测这个patch和周围其他patch 的相关性。
这种相关性通过两个patch间的平方差之和(SSD)来衡量,SSD值越小则相似性越高。
如果像素位于平滑图像区域内,周围的patch都会非常相似。
如果像素在边缘上,则周围的patch在与边缘正交的方向上会有很大差异,在与边缘平行的方向上则较为相似。
而如果像素是各个方向上都有变化的特征点,则周围所有的patch都不会很相似。
Moravec会计算每个像素patch和周围patch的SSD最小值作为强度值,取局部强度最大的点作为特征点。
Moravec角点检测算法有几个很明显的缺陷:1,强度值的计算并不是各向同性的,只有离散的8个45度角方向被考虑。
因为patch的评议比较最多只有8个方向;2,由于窗口是方形并且二元的,因此相应函数会有噪声;3,对边缘的相应太简单,因为强度值尽取SSD的最小值;
1.1.2 FAST角点检测算法
Edward Rosten and TomDrummond 在2006年提出了一种简单快速的角点探测算法,该算法检测的角点定义为在像素点的周围邻域内有足够多的像素点与该点处于不同的区域。
应用到灰度图像中,即有足够多的像素点的灰度值大于该点的灰度值或者小于该点的灰度值。
考虑下图中p点附近半径为3的圆环上的16个点,一个思路是若其中有连续的12个点的灰度值与p点的灰度值差别超过某一阈值,则可以认为p点为角点。
这一思路可以使用机器学习的方法进行加速。
对同一类图像,例如同一场景的图像,可以在16个方向上进行训练,得到一棵决策树,从而在判定某一像素点是否为角点时,不再需要对所有方向进行检测,而只需要按照决策树指定的方向进行2-3次判定即可确定该点是否为角点。
1.1.3 Harris角点检测
当一个窗口在图像上移动,在平滑区域如图(a),窗口在各个方向上没有变化。
在边缘上如图(b),窗口在边缘的方向上没有变化。
在角点处如图(c),窗口在各个方向上具有变化。
Harris角点检测正是利用了这个直观的物理现象,通过窗口在各个方向上的变化程度,决定是否为角点。
图2.1 Harris角点检测窗口移动图示
将图像窗口平移[u,v]产生灰度变化E(u,v)
由:,得到:
对于局部微小的移动量[u,v],近似表达为:
其中M是2*2 矩阵,可由图像的导数求得:
E(u,v)的椭圆形式如下图:
图2.2 E(u,v)的椭圆形式
定义角点响应函数R为:
Harris角点检测算法就是对角点响应函数R进行阈值处理:R > threshold,即提取R的局部极大值。
1.1.4 Shi-Tomasi 算法
Shi-Tomasi 算法是Harris 算法的改进。
Harris 算法最原始的定义是将矩阵M 的行列式值与M 的迹相减,再将差值同预先给定的阈值进行比较。
后来
Shi 和Tomasi 提出改进的方法,若两个特征值中较小的一个大于最小阈值,则会得到强角点。
如上面第二幅图中,对自相关矩阵M 进行特征值分析,产生两个特征值和两个特征方向向量。
因为较大的不确定度取决于较小的特征值,也就是,所以通过寻找最小特征值的最大值来寻找好的特征点也就解释的通了。
Shi 和Tomasi 的方法比较充分,并且在很多情况下可以得到比使用Harris 算法更好的结果。