zoukankan      html  css  js  c++  java
  • Opencv学习笔记(六)SURF学习笔记

    原创文章,转载请注明出处:http://blog.csdn.net/crzy_sparrow/article/details/7392345

    本人挺菜的,肯定有非常多错误纰漏之处 ,希望大家不吝指正。


         看了harris角点检測之后,開始研究SURF角点检測,发现挺复杂的,一时也仅仅了解了大概,把了解的东西总结下,以便下次深入学习。

         SURF角点检測算法是对SIFT的一种改进,主要体如今速度上,效率更高。它和SIFT的主要差别是图像多尺度空间的构建方法不同。

        在计算视觉领域,尺度空间被象征性的表述为一个图像金字塔,向下降採样一般用高斯金字塔。当中,输入图像函数重复与高斯函数的核卷积并重复对其进行二次抽样,这样的方法主要用于SIFT算法的实现,但每层图像依赖于原图像(当前尺度可能和原图象尺度相差非常大,这时候再那原图像卷积确实有点二了),而且图像须要重设尺寸,因此,这样的计算方法运算量较大。SURF算法对积分图像进行操作,卷积仅仅和前一幅图像有关,其降採样的方法是申请添加图像核的尺寸,这也是SIFT算法与SURF算法在使用金字塔原理方面的不同。SURF算法同意尺度空间多层图像同一时候被处理,不需对图像进行二次抽样,从而提高算法性能。

        其他方面的差别,以我菜鸟级的认识,差不大多。


        附上两篇SIFT相关的博文,讲得还是比較透彻的,两篇结合起来看基本能明确其原理。

        两篇讲的东西有点出入,只是对比着看还是能找出问题的,当然啃论文最easy找出问题了。

    SIFT简单介绍:http://www.360doc.com/content/11/1230/23/3054335_176200661.shtml

    SIFT算法心得:http://www.360doc.com/content/11/1207/17/3054335_170430459.shtml

        其它博文:

    SIFT/SURF算法的深入剖析——谈SIFT的精妙与不足:http://hi.baidu.com/xiaoduo170/blog/item/a22bcc1c2349708286d6b636.html

    SIFT/SURF系列:http://www.yongblog.com/archives/tag/surf%E7%AE%97%E6%B3%95


        SURF论文和源代码(论文讲得非常具体,代码c++实现):

    http://download.csdn.net/detail/crzy_sparrow/4171374


    opencv小试SURF算法:

    #include "opencv2/opencv.hpp"
     
    int main(){
        cv::Mat  image, image1 = cv::imread ("test.jpg");
        //灰度变换
        cv::cvtColor (image1,image,CV_BGR2GRAY);
        std::vector<cv::KeyPoint> keypoints;
        cv::SurfFeatureDetector surf(2500);
        surf.detect (image,keypoints);
        cv::drawKeypoints (image,keypoints,image,cv::Scalar::all (255),cv::DrawMatchesFlags::DRAW_RICH_KEYPOINTS);
    
        cv::namedWindow ("surf");
        cv::imshow ("surf",image);
        cv::waitKey (0);
        return 0;
    }
    
    

    測试结果

    标记圈的半径长短和特征点所在尺度有关,那条半径是特征点的方向。


        SIFT算法的教程、源代码及应用软件
    1、ubc:DAVID LOWE---SIFT算法的创始人,两篇巨经典
    http://www.cs.ubc.ca/~lowe/

    2、cmu:YanKe---PCASIFT,总结的SIFT方面的文章
    http://www.andrew.cmu.edu/user/yke/

    3、ubc:M.BROWN---SIFT算法用于图像拼接的经典应用autopano-sift,包含一个SIFTLIB库
    http://www.cs.ubc.ca/~mbrown/autostitch/autostitch.html
    http://www.cs.ubc.ca/~mbrown/panorama/panorama.html

    4、toronto:Jepson---Matlab SIFT tutorial, 超级超级超级经典~

    http://www.cs.toronto.edu/~jepson/csc2503/

    5、ucla:Vedaldi---加州大学一个博士生编的Matlab SIFT tutorial
    http://www.cs.ucla.edu/~vedaldi/

    6.http://en.wikipedia.org/wiki/Scale-inva ... _transform

    7. 大牛整理的计算机视觉分类

    http://www.cs.ubc.ca/~lowe/vision.html

    8. http://note.sonots.com/SciSoftware/SIFT.html

    9.提到了计算变换矩阵的RANSAC法

    http://web.engr.oregonstate.edu/~hess/index.html

    10. 仿射不变特征点检測,提到了性能评价的方法

    http://www.robots.ox.ac.uk/~vgg/research/affine/

    11. 一个日本人,挺牛的

    http://note.sonots.com/

    12. PCA-SIFT

    http://www.cs.cmu.edu/~yke/pcasift/

    13 opencv sift

    http://web.engr.oregonstate.edu/~hess/index.html

    14 matlab sift

    http://www.vlfeat.org/~vedaldi/code/sift.html

    http://www.vlfeat.org/overview/sift.html

    15 Improve Scale Invariant Feature Transform (SIFT) 斯坦福

    http://robots.stanford.edu/cs223b04/project9.html

    16 Known implementations of SIFT    mit

    http://people.csail.mit.edu/albert/ladypack/wiki/index.php/Known_implementations_of_SIFT


  • 相关阅读:
    Exchange 2013与 Office Web Apps 整合
    SharePoint2013 以其他用户登录和修改AD域用户密码 功能
    sharepoint 2010 自定义页面布局
    sharepoint 2010 记录管理 对象模型
    SharePoint2010 对象模型 关联列表
    在SharePoint Server 2010中更改“我的网站”
    xenapp 6.5 客户端插件第一次安装总是跳到官网
    如何解决在Windows Server 2008 R2 上安装证书服务重启后出现 CertificationAuthority 91错误事件
    在Win7 Hyper-v虚拟机中挂接真实机的声卡
    win8 中如何删除 共享文件夹 用户名和密码
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4080486.html
Copyright © 2011-2022 走看看