亚像素角点检测

本文介绍了亚像素角点检测的重要性,它用于提高角点定位的精确度,适用于运动跟踪、三维建模等领域。文章阐述了亚像素角点检测的原理,通过在常规角点坐标基础上进行细化来获取实数坐标。还提到了OpenCV中的cornerSubPix函数实现,该函数利用加权最小二乘法和高斯核进行优化,并讨论了迭代终止条件和窗口大小的影响。
摘要由CSDN通过智能技术生成

亚像素角点检测简介

角点检测,顾名思义就是寻找图像中的角点。角点是图像的一种重要特征,可以用于运动跟踪,三维建模,全景拼接等应用。常用的角点检测算法有Harris Corner,Fast Corner。常规的角点检测算法输出的角点坐标是整数,即角点位置恰好与像素位置重合。实际场景中角点位置是连续的,而相机的像素是离散的,两者总是有偏差。如果需要基于图像进行几何测量,这个偏差是不能容忍的。这就是亚像素角点检测问题的背景。相比常规角点检测,亚像素角点检测用实数取代整数来表示角点坐标。

亚像素角点检测算法

亚像素角点检测需要先运行常规的角点检测,得到整数表示的角点坐标。然后算法对每个角点做细化,得到实数表示的角点坐标

亚像素角点检测算法的基本思想如下[1]
这里写图片描述
对于一个角点 q q ,考虑在 q 附近的窗口win内的任意点 p p p 的图像梯度与向量 qp q − p 的点积总是为零。原因是如果 p p 在平坦区域,则 p 的梯度为零,如果 p p 在边缘处, p 的梯度总是与 qp q − p 垂直。
于是

<I(p),qp>=0 < ∇ I ( p ) , q − p >= 0
<script type="math/tex; mode=display" id="MathJax-Element-21"><\nabla I(p),q-p>=0</script>即
Ix(p)(xqxp)+Iy(p)(yqyp)=0 I x ( p ) ( x q − x p ) + I y ( p ) ( y q − y p ) = 0

Ix(p)xq+Iy(p)yq=Ix(p)x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值