harris角点的原理与实验-xueyayang

harris角点的原理与实验-xueyayang

ID:31987430

大小:52.84 KB

页数:4页

时间:2019-01-30

harris角点的原理与实验-xueyayang_第1页
harris角点的原理与实验-xueyayang_第2页
harris角点的原理与实验-xueyayang_第3页
harris角点的原理与实验-xueyayang_第4页
资源描述:

《harris角点的原理与实验-xueyayang》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Harris角点的原理与实验July7,20141问题Harris角点是什么?如何寻找图像中的角点?本文基于《LearningOpenCV》第十章“CornerFinding”一节及OpenCV源代码写就。2解答2.1角点是什么?直观上,就是图像中的“角”,如正方形的四角。相对方形内部的任意点来说,在下一帧中更容易确定其位置。2.2Harris角点的定义?Harris角点是将就是角点用数学定义描述:在两个方向的导数都是极大值。仍然用正方形色块来描述:•内部点:在X方向导数为0;Y方向导数为0;•边缘点:–水平边缘:X方向导数为0;Y方向导数为极大值–垂直边缘:X方向导数为极大值;Y方向导

2、数为0•角点:X方向导数为极大值;Y方向导数为极大值。12解答2引入HessianMatrix:236227H(p)=6@I@I7(1)4@x2@x@y522@I@I@y@x@y2这个矩阵由p点处的二阶导数、偏导组成。Harris角点的定义是,如果一点处的HessianMatrix满足以下条件:Det(H)kTrace(H)Trace(H)<ϵ(2)就认为是角点。其中:•Det(H)是对矩阵H求行列式的值•Trace(H)是矩阵H的“迹”–k是根据经验指定的一个系数。OpenCV中选的是0.04–ϵ是根据经验指定的一个阈值。OpenCV做法是:用所有差值中的最大值,乘上一个qual

3、itylevel。2.3原理到代码的对应这个是做图像处理比较挠头的一部分,明明原理懂了,到写代码却一筹莫展。因此这里对此多写一些。2.3.1导数以X方向的导数为例,设I(x,y)为点(x,y)处的灰度值,那么该点处的导数就是:@I=I(x+1;y)I(x1;y)(3)@x即右侧点减去左侧点的灰度值。对应的,Y方向的导数为:2解答3@I=I(x;y+1)I(x;y1)(4)@x即下方点减去上方点的灰度值。对啦,就是用Sobel算子对图像做卷积。最简单的,就是:[1;0;1](5)T[1;0;1](6)得到两个方向的Sobel图,Dx,Dy。2.3.2二阶导数与偏导参考OpenC

4、V的代码,二阶导数由一阶导数相乘而来。非常简单。(却是不太明白其中的数学原理。)上面求出了X方向的一阶导数,记为dx;Y方向的一阶导数记为dy,那么:@2I=dxdx(7)@x2@2I@2I==dxdy(8)@x@y@y@x@2I=dydy(9)@y2非常简单,是不是?2.3.3行列式与矩阵的迹以矩阵ab(10)bc为例:•Det(H)=acbb•Trace(H)=(a+c)3结论42.3.4实践中的优化理论上,理论与实践是严格一致的;实践上,实践与理论总是有差距。上面的分析是以一点处的导数组成HessianMatrix;实际上,对任一点,会计算其8邻域所有点的导数和,然后再

5、生成HessianMatrix来计算角点。在代码里,即对Dx,Dy分别用算子:111(11)111111求卷积。2.3.5代码与实验源代码在这里。可以与OpenCV的实现达到同样的效果。3结论•矩阵、导数的理论很重要。也挺有意思。•从理论到代码的实现好像关心的人很少。经常找到的资料略过不提。还是我太菜了?

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。