Opencv学习笔记(六)SURF学习笔记

Opencv学习笔记(六)SURF学习笔记

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

原创文章,转载请注明出处: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;
}



測试结果

Opencv学习笔记(六)SURF学习笔记

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

    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


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117967.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 设计模式六大原则(6):开闭原则[通俗易懂]

    设计模式六大原则(6):开闭原则

    2022年1月20日
    54
  • 浙江省计算机专业的大专学校排名_浙江省内计算机大学专业

    浙江省计算机专业的大专学校排名_浙江省内计算机大学专业2015浙江省大学学科专业排名下面列出2015浙江省高校荣获2015年中国三星级学科专业以上的学科专业名单:1、浙江大学6星级学科专业(中国顶尖学科专业):农林经济管理、光学工程5星级学科专业(中国一流学科专业):管理科学与工程、电气工程、动力工程及工程热物理、控制科学与工程、软件工程、生态学、农业资源与环境、园艺学、植物保护、临床医学4星级学科专业(中国高水平学科专业):马克思主义理论、教育学、…

    2025年6月16日
    2
  • 解决 Mysql 连接 10038 错误问题

    今天在写接口,连接数据库的时候,出现了一点问题,后来几经折腾总算解决了,这里分享给大家。

    2022年4月6日
    38
  • 安川ga700变频器故障码集_安川变频器CPF故障码集

    安川ga700变频器故障码集_安川变频器CPF故障码集CPF00 操作器故障 1 数字式操作器通信故障 1 接通电源 5 秒后 也不能和数字式操作器进行通信 CPU 的外部 RAM 不良数字式操作器的插头接触不良变频器控制回路不良控制回路损坏拆下数字式操作器后再重新安装更换变频器试着开闭电源更换变频器 CPF01 操作器故障 2 数字式操作器通信故障 2 与数字式操作器开始通信后 发生了 2 秒以上的通信故障数字式操作器的插头接触不良变频器控制回路不良拆

    2025年6月6日
    2
  • pycharm设置断点单步运行_pycharm怎么debug

    pycharm设置断点单步运行_pycharm怎么debug在我们平时写程序的时候,简单的程序一眼就能看出问题所在,但是稍微大一点的程序,就很难在茫茫代码中找到一个参数的失误带来的bug,所以我们引入debug单步调试。一、常用操作F8:stepover单步遇到断点后,程序停止运行,按F8单步运行。不进入调用函数内部F7:stepinto进入配合F8使用。单步调试F8时,如果某行调用其他模块的函数,在此执行F7,可以进入函数内部,如果是F…

    2022年8月27日
    39
  • 数据预处理之Bartlett’s球状检验

    数据预处理之Bartlett’s球状检验用于检验相关阵是否为单位阵,即检验各个变量是否各自独立。在因子分析中,若拒绝原假设,则说明可以做因子分析,若不拒绝原假设,则说明这些变量可能独立提供一些信息,不适合做因子分析。因子分析前,首先进行KMO检验和巴特利球体检验,KMO检验系数&gt;0.5,(巴特利特球体检验的x2统计值的显著性概率)P值&lt;0.05时,问卷才有结构效度,才能进行因子分析,因子分析主要是你自己做了一份调查问…

    2022年6月18日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号