博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenCV教程(46) 快速特征检测
阅读量:6904 次
发布时间:2019-06-27

本文共 884 字,大约阅读时间需要 2 分钟。

    在计算harris特征角时候,我们要在两个方向计算梯度,计算代价有点大。在paper

The article by E. Rosten and T. Drummond, Machine learning for high-speed corner detection, in In European Conference on Computer Vision, pp. 430-443, 2006.

中,作者提出了一种快速的特征检测方法。paper下载:

      对于中心点p,半径为3的圆,计算圆周上的点和中心点的灰度值差,如果大于阈值,且这些点组成的弧长大于圆周长的3/4,则中心点p为特征点。如下图所示,在计算时候,可以先计算1,5,9,13处的灰度值差,至少有3个点的差大于阈值,中心点p才有可能是特征点,通过这种方法,能加快特征点的检测。

 

 

opencv中实现了概算法,下面的代码演示了如何调用快速特征检测:

    // Read input image

    image= cv::imread("../church01.jpg",0);

   //快速特征检测

    keypoints.clear();
    //40是阈值
    cv::FastFeatureDetector fast(40);
    fast.detect(image,keypoints);

    cv::drawKeypoints(image,keypoints,image,cv::Scalar(255,255,255),cv::DrawMatchesFlags::DRAW_OVER_OUTIMG);

    // Display the corners

    cv::namedWindow("FAST Features");
    cv::imshow("FAST Features",image);

下面左图为快速特征检测的结果,可以看到和good特征检测出的特征点结果很接近。

程序代码:参考FirstOpenCV49

代码下载:

转载于:https://www.cnblogs.com/mikewolf2002/p/3547439.html

你可能感兴趣的文章
Notes打不开的故障总结
查看>>
WEB打印控件Lodop(V6.x)
查看>>
我的友情链接
查看>>
UI集成测试运行说明
查看>>
ES与Javscript,JScript,ActionScript等脚本
查看>>
断点的技巧
查看>>
mariadb配置安装
查看>>
自己做网站怎么计算带宽需求
查看>>
流镜像,端口镜像
查看>>
3月23日作业
查看>>
C语言之枚举
查看>>
我的友情链接
查看>>
程序员学习能力提升三要素
查看>>
Mysqli的批量CRUD数据
查看>>
oracle 10g升级流程
查看>>
linux下DNS服务器的实现1
查看>>
BGinfo设置记录文档
查看>>
爆款打造之中小卖家如何做到零成本选/测款?(一)
查看>>
性能监测工具 dstat
查看>>
匿名无须交互输入用户名和密码的samba配置方法(security=user)
查看>>