Harris 角点检测

点检测的一份非常详细的教程:

http://www.cim.mcgill.ca/~dparks/CornerDetector/index.htm

在上述教程中涉及到了Harris角点检测的推导以及各种角点检测方法的比较,非常值得一看。这里只是简单的整理一下,用白话说明一下Harris角点检测算法的步骤:

1. 计算图像的方向导数,分别保存为两个数组Ix以及Iy,这里可以使用任何方法,比较正统的是使用Gaussian函数,因为在Harris角点检测的推导过程中默认是采用了Gaussian函数作为其计算图像偏导数的方法。当然使用简单的Prewitt或者Sobel算子也没有关系。

2. 为每一个点计算局部自相关矩阵 u(x,y) = [Ix(x,y)^2*W Iy(x,y)Ix(x,y)*W;Ix(x,y)Iy(x,y)*W Iy(x,y)^2*W];这里*W代表以x,y为中心与高斯模板W做卷积,而这个模板的大小则需要你自己指定。

3. 如果这个u的两个特征值都很小,则说明这个区域是个平坦区域。如果u的某个特征值一个大一个小,则是线,如果两个都很大,那么就说明这是个角点。Harris提供了另一个公式来获取这个点是否是角点的一个评价:corness = det(u) - k*trace(u)^2;

这个corness就代表了角点值,其中k是你自己取的一个固定的变量,典型的为[0.04,0.06]之间。当然在求取了每个点的corness以后,最好再做一个极大值抑制,这样的效果比直接设置一个阀值要好。

 

最近开始在导师的逼迫下绞尽脑汁的想办法做他给的任务,这个计算机视觉里涉及的东西刚开始觉得还真多,在网上找到这样一篇文章,要谢谢这位找到这份教程的大哥!这是他的博客

http://hi.baidu.com/xxwl04108

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值