最近看了SIFT原理的论文,在Related research里边介绍了之前各家提出一系列角点,因此在网上搜集并整理了这些焦点的原理介绍。 特征检测与匹配是Computer Vision 应用总重要的一部分,这需要寻找图像之间的特征建立对应关系。点,也就是图像中的特殊位置,是很常用的一类特征,点的局部特征也可以叫做“关键特征点”(keypoint feature),或“兴趣点”(interest point),或“角点”(conrner)。 关于角点的具体描述或评判标准可以有几种: - 一阶导数(即灰度的梯度)的局部最大所对应的像素点; - 两条及两条以上边缘的交点; - 图像中梯度值和梯度方向的变化速率都很高的点; - 角点处的一阶导数最大,二阶导数为零,指示物体边缘变化不连续的方向。 ### **1.Moravec角点** 转载自: http://blog.csdn.net/newthinker_wei/article/details/45603583 Moravec角点的值是通过在一个x*x大小的窗口内,通过向四个方向移动: ![这里写图片描述](https://img-blog.csdn.net/20170615093441924) 其中(x,y)就表示四个移动方向(1,0)(1,1)(0,1)(-1,1),E就是像素的变化值。Moravec算子对四个方向进行加权求和来确定变化的大小,然和设定阈值,来确定到底是边还是角点。 ### ** 2.Harris角点与Shi-Tomasi角点 ** **关于为什么R这样取,是因为harris设计的R函数满足:** ![这里写图片描述](https://img-blog.csdn.net/20180401144303978?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0tldmluX2NjOTg=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
转载:http://blog.csdn.net/xiaowei_cqu/article/details/7805206
源码及资料下载: http://download.csdn.net/detail/xiaowei_cqu/4466627
当一个窗口在图像上移动,在平滑区域如图(a),窗口在各个方向上没有变化。在边缘上如图(b),窗口在边缘的方向上没有变化。在角点处如图(c),窗口在各个方向上具有变化。Harris角点检测正是利用了这个直观的物理现象,通过窗口在各个方向上的变化程度,决定是否为角点。
将图像窗口平移[u,v]产生灰度变化E(u,v)
由:, 得到:
对于局部微小的移动量 [u,v],近似表达为:
其中M是 2*2 矩阵,可由图像的导数求得:
E(u,v)的椭圆形式如下图:
定义角点响应函数 R 为:
Harris角点检测算法就是对角点响应函数R进行阈值处理:R > threshold,即提取R的局部极大值。
【相关代码】
OpenCV中定义了 cornerHarris 函数: