阅读《RobHess的SIFT源码分析:综述》笔记

今天总算是机缘巧合的找到了照样一篇纲要性质的文章。

如是能早一些找到就好了。不过“在你认为为时已晚的时候,其实还为时未晚”倒是也能聊以自慰,不过不能经常这样迷惑自己,毕竟我需要开始跑了!

就照着这个大纲往下走走,说不定会有意想不到的收获,然后把多视点的问题加进去,或许应该能有所成效。

嗯,其他的太多的东西想来也无用。

我觉得现在比较重要的事情是,顺着这样一篇文章继续我要做的东西。

原文《RobHess的SIFT源码分析:综述》地址:

http://blog.csdn.net/masibuaa/article/details/9191309

文章首先给出建议看一下stitcher,发现之前就已经阅读过了:

本博之前简单解析过:http://www.cnblogs.com/letben/p/5338443.html,的确未有很大意义。

拼接样例前面也已经介绍过了。

然后发现一个回环【我终于想起来,为什么要写日志了。因为碰到断点不知道怎么处理了】

图像拼接及源码下载参见此篇博文:基于sift特征的全景图像拼接

在SIFT特征提取的时候要调用RobHess源码,参见《RobHess的SIFT源码分析:综述》

嗯,还没有看

http://blog.csdn.net/masibuaa/article/details/9246493

这个里面的详细内容,不过应该十分有益处。照着读一遍,跑一遍,应该是下限。

所以在它的基于sift特征的全景图拼接,应该就是一个最小集合吧。或许他翻源码比较细致。应该还有很多其他的内容的。也就是说,这篇只是一个代码,需要通过读代码,把里面的思想抽取出来,记录一下。

//TODO

然后断点回来先不看代码。

回到综述:

http://blog.csdn.net/masibuaa/article/details/9191309大概明白了这个robhess应该是个人名。

然后直到http://robwhess.github.io/opensift/ 再到:https://github.com/robwhess/opensift/zipball/master

发现应该是在给他上面共享了自己代码的同学,所以猜测masikkk应该是错写了robwhess的名字。博主也是能力巨大,硬生生给 罗伯维斯 起了个新的英文名字。。。

简单写一下

http://robwhess.github.io/opensift/

这个里面说的东西,不知怎么的,现在无论是看中文还是英文总是什么都记不住了,老了吧,还是懒了吧。。。或许是长期迷茫导致的不能学习综合征。

所以还是翻译一下吧:大概也算是自己真的读了这样一篇文章:

尺度不变特征转化(SIFT)是一个用来检测独特稳定图像特征的方法,它可以很轻松的进行图片之间的检测从而进行诸如物体检测识别或者计算图像之间的物理转换的任务。这个开源sift库是可到达的。它由使用C语言的opencv开源计算机视觉库和包括图片之间的sift特征的计算,以及使用kd树进行sift特征的匹配和从特征中使用随机抽样一致方法来计算集合图片的转换构成。这个库也包括功能导入并且他在图片上的特征的工作来源于David Lowe的sift的可行【executable】和牛津【VGG】仿射协变特征检测。http://www.cs.ubc.ca/~lowe/keypoints/下面的图片描述了这样一个功能。

第一幅图:单单只从两幅图片之间检测sift特征

第二幅图:再sift之后在经过随机抽样一直,得到的结果。【虽然还是有些不太符合的点,不过已经很好了】

依赖:

opencv的版本高于2.1

gtk+2 的版本高于2.9【然而并不知道什么是gtk,g什么工具包】

参考:

开源sift库 RHess ACM MM2010 【人名,大会名,年份?】

来自尺度不变关键点的独特图像特征

背景:

然后是专利通告。

所以我才要是想跑起来这个程序除了我们已经要配置好opencv以外,还有配置的有gtk。好在他们都是免费的。不过感觉配置gtk,,,好像要费点儿事儿,我滴妈呀。。。【不行已经读不下去了,果然,英语不是母语,看起来真的好费劲。。。】

下午跟老师 讨论了一下,说了一些内容

1、对于加权拼接,怎么做,我们会有很多sift点,但是其实我们只需要重合的一小部分,在速度上的问题。也就是我之前提到过的,对于我截取的桌面图的拼接。怎么做。

2、对于一段视频中的内容,比如视频内是关于车牌的信息,但是并不清楚,如果能从这些不清楚的汽车中提取出一个比较清楚的车牌信息,这个是否有办法做到,也就是说能否通过一系列单张模糊照片得到一个较为清晰的照片的这个事儿,老师给出的意见是:视频可以得到图像,图像根据第一章或者中间的某一张作为基准,无限贴合,看是否能得到一个比较好的结果。

现在的当务之急是:图像融合的部分,做这个加权,以及模糊得到清晰。

刚刚得到了一些比较重要的文献的连接:其实之前就看到过只是忘记了。。。

然后刚刚原来博客上就剩一个

一些SIFT算法和全景拼接测试用图下载,包含牛津大学网站上提供的测试图

然后是下面的正文部分。

看一下,再看一下基本融合。其实主要是一个基本算法,要是能自己实现一个拼接说实话,后面的很多研究都还是比较好做的。先到这儿吧

时间: 2024-10-13 08:51:52

阅读《RobHess的SIFT源码分析:综述》笔记的相关文章

《The C Programing Language》阅读笔记

<The C Programing Language> 要理解一种程序语言,而不仅仅只是会使用它. -----我的心声 介绍部分: 作者 C语言设计者 Kernighan  Ritchie  标准C语言及其程序设计方法 应用级编程两个主流语言 C++  Java 都建立于C的语法和基本结构上 现在世界上许多软件都是C语言及其衍生的各种语言的基础上开发出来的. C在传播中,肯定会有变化和进展,88年 ANSI(美国国家标准协会) 为C语言指定了一个精确的标准.即ANSI C. 自C诞生之后,C悄

CI框架源码阅读笔记4 引导文件CodeIgniter.php

到了这里,终于进入CI框架的核心了.既然是"引导"文件,那么就是对用户的请求.参数等做相应的导向,让用户请求和数据流按照正确的线路各就各位.例如,用户的请求url: http://you.host.com/usr/reg 经过引导文件,实际上会交给Application中的UsrController控制器的reg方法去处理. 这之中,CodeIgniter.php做了哪些工作?我们一步步来看. 1.    导入预定义常量.框架环境初始化 之前的一篇博客(CI框架源码阅读笔记2 一切的入

javascript高级程序设计阅读笔记(一)

javascript高级程序设计阅读笔记(一) 工作之余开发些web应用作为兴趣,在交互方面需要掌握javascript和css.HTML5等技术,因此读书笔记是必要的. javascript简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能. 文档对象模型 DOM doc

论文《Chinese Poetry Generation with Recurrent Neural Network》阅读笔记

这篇文章是论文'Chinese Poetry Generation with Recurrent Neural Network'的阅读笔记,这篇论文2014年发表在EMNLP. ABSTRACT 这篇论文提出了一个基于RNN的中国古诗生成模型. PROPOSED METHOD 第一句的生成 第一句的生成是规则式的. 先自定义几个keywords,然后通过<诗学含英>(这是清朝人编写的)扩展出更多的相关短语.然后生成所有满足格式约束(主要是音调方面的)的句子,接下来用一个语言模型排个序,找到最好

《构建之法阅读笔记02》

这次主要对<构建之法>的第四章“两人合作”作一次阅读笔记. 首先是代码规范问题. 我过去对于代码规范问题并没有做到注意.在编程中,许多变量和函数的命名都非常的简单而没有实际的意义.而且编程时不注意对齐缩进.很多时候也不加注释,导致对这些简单的变量名称不熟悉. 这样做会使得很多人读代码费劲,甚至是自己都要花时间再次阅读懂自己的代码.而且很多没必要的注释也会使得注释失去意义.当自己再次在原基础上编程时,可能要重新编程等问题. 因此,通过阅读“代码规范”,我找到一些解决方法.代码的风格要简明.易读.

《代码阅读方法与实践》阅读笔记之二

时间过得真快,一转眼,10天就过去了,感觉上次写阅读笔记的场景仿佛还历历在目.<代码阅读方法与实践>这本书真的很难写笔记,本来我看这本书的名字还以为书里大概写的都是些代码阅读的简易方法,心想着这就好写笔记了,没想到竟然好多都是我们之前学过的东西,这倒让我有点无从下手了.大概像我们这些还没有太多经历的大学生,总是习惯于尽量避免自己的工作量,总是试图找到一些完成事情的捷径吧.总之,尽管我不想承认,但我自己心里很清楚,我就是这种人.下面开始言归正传,说说接下来的几章内容归纳. 这本书在前面已经分析了

《大道至简》阅读笔记1

<大道至简>阅读笔记1 不知不觉间看完了第一章,从这个章节里我看到了一些我们都明白可是却自己很难做到的道理. 书中从愚公移山的故事和编程相结合给出了编程的精义就是顺序.分支.循环,这些都是我们所熟悉的,也是老师在教学中耳提面命的,可是我们又有几个人能做到呢. 我们总是在找着各种各样的学不好学不会理由,“它太难了”,“我太笨了”,认真的想一想难道真的是它太难了或者是自己太笨了么?不,答案是否定的,追根究底是懒惰,是没能坚持.从根本上来说,不存在会不会写程序的问题,除了先天智障和后天懒惰者,这要你

CI框架源码阅读笔记3 全局函数Common.php

从本篇开始,将深入CI框架的内部,一步步去探索这个框架的实现.结构和设计. Common.php文件定义了一系列的全局函数(一般来说,全局函数具有最高的加载优先权,因此大多数的框架中BootStrap引导文件都会最先引入全局函数,以便于之后的处理工作). 打开Common.php中,第一行代码就非常诡异: if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 上一篇(CI框架源码阅读笔记2 一切的入口 index

构建之法阅读笔记05

2017.5.20 今天阅读的是<构建之法>第8章需求分析的阅读笔记,我们如果要开始做一个软件,最先要进行的就是需求分析,我们应该充分的了解我们这个软件是否具有前景,我们为用户提供的服务是不是用户所需要的,这一章详细的叙述了如何进行需求分析. 首先是获取和引导需求,我们应该找到软件的利益相关者,了解挖掘他们对软件的需求,引导他们表达出真实的需求.然后分析和定义需求,对各个方面的需求进行规整,定义需求内涵,从各个角度将需求量化,然后估计实现这些需求所需要的时间和资源,确定各个需求的优先级.紧接着

《构建之法》阅读笔记(2)

<构件之法>阅读笔记2 看了前面两章,我感觉我现阶段距离一个程序员还很远,软件工程师更是遥不可及.在学校的我学习了很多,如c++,数据结构,面向对象--学的多而不精,纵观现在我就是一个盲目学习的学生,上课时认真听了课后却没有花更多的时间去研究,遇到不懂的容易掉价死胡同,总是花很多时间闷闷思考,不到最后都没有去请教同学,去百度.看着其他很厉害的同学,自己就只能在一旁羡慕嫉妒恨.那现在在怎么样才能将自己对编程的兴趣提高,加强自己的编程思想?提高自己的价值?能够尽早地迈进程序员.软件工程师的行列之中