OpenCV教程(46) 快速特征检测

简介: 在计算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. 中,作者提出了一种快速的特征检测方法。

    在计算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下载:http://yunpan.cn/QDbtIDnBhqUxT

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

 

image

 

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特征检测出的特征点结果很接近。

imageimage

程序代码:参考FirstOpenCV49

代码下载:http://yunpan.cn/Q4akuTWgAUqqu

相关文章
|
1月前
|
算法 计算机视觉 索引
OpenCV(四十六):特征点匹配
OpenCV(四十六):特征点匹配
44 0
|
1月前
|
算法 计算机视觉
OpenCV(四十三):Shi-Tomas角点检测
OpenCV(四十三):Shi-Tomas角点检测
25 0
|
1月前
|
计算机视觉
OpenCV(三十八):二维码检测
OpenCV(三十八):二维码检测
46 0
|
1月前
|
编解码 计算机视觉
OpenCV(三十六):霍夫直线检测
OpenCV(三十六):霍夫直线检测
25 0
|
1月前
|
计算机视觉 索引
OpenCV(三十五):凸包检测
OpenCV(三十五):凸包检测
24 0
|
1月前
|
存储 资源调度 算法
Opencv(C++)系列学习---SIFT、SURF、ORB算子特征检测
Opencv(C++)系列学习---SIFT、SURF、ORB算子特征检测
|
1月前
|
存储 算法 计算机视觉
OpenCV(四十二):Harris角点检测
OpenCV(四十二):Harris角点检测
28 0
|
1月前
|
存储 计算机视觉 C++
Opencv(C++)学习系列---特征点检测和匹配
Opencv(C++)学习系列---特征点检测和匹配
|
1月前
|
算法 计算机视觉
OpenCV(四十七):RANSAC优化特征点匹配
OpenCV(四十七):RANSAC优化特征点匹配
98 0
|
1月前
|
算法 计算机视觉
OpenCV(四十五):ORB特征点
OpenCV(四十五):ORB特征点
22 0