《opencv学习笔记》-- Shi-Tomasi 角点检测

Shi-Tomasi算法是Harris算法的改进。

原理:

        由于Harris算法的稳定性和k值有关,Shi-Tomasi发现,角点的稳定性和矩阵M的较小特征值有关,改进的Harris算法即直接计算出矩阵M的特征值,用较小的特征值与阈值比较,大于最小阈值的即为强特征点(强角点)。

确定图像强角点:goodFeaturesToTrack() 函数     结合Shi-Tomasi算子

void goodFeaturesToTrack (InputArray image, OutputArray corners, 
                          int maxCorners, double qualityLevel,
                          double minDistance, InputArray mask = noArray(),
                          int blockSize = 3, bool useHarrisDetector = false,  
                          double k = 0.04 )

参数1,InputArray类型的image,输入图像,为8位或浮点型32位单通道图像。

参数2,OutputArray类型的corners,检测到的角点的输出向量。

参数3,int类型的maxCorners,角点的最大数量。

参数4,double类型的qualityLevel,角点检测可接受的最小特征值。实际用于过滤角点的最

            小特征值是qualityLevel 与图像中最大特征值的乘积。所以qualityLevel通常不会超过

            1(常用的值为0.10或者0.01)。而检测完所有的角点后,还要进一步剔除掉一些距离

            较近的角点。

参数5,double类型的 minDistance,角点之间的最小距离,用于保证返回的角点之间的距离

             不小于minDistance个像素。

参数6,InputArray类型的mask,可选参数,表示感兴趣区域,有默认值noArray()。

            若此参数非空(需为CV_8UC1类型,且和第一个参数image有相同的尺寸),便用于指定

             角点检测区域。

参数7,int类型的blockSize,有默认值3,是计算导数自相关矩阵时指定的邻域范围。

参数8,bool类型的useHarrisDetector,默认值 false,指是否使用Harris角点检测。

参数9,double类型的k,默认值0.04,为用于设置Hessian自相关矩阵行列式的相对权重的

             权重系数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值