图像相似度算法–SIFT算法详解



图像相似度算法–SIFT算法详解

尺度不变特征变换匹配算法详解
Scale Invariant Feature Transform(SIFT)
Just For Fun

 

zdd  zddmail@gmail.com or (zddhub@gmail.com)

 

对于初学者,从David G.Lowe的论文到实现,有许多鸿沟,本文帮你跨越。

如果你学习SIFI得目的是为了做检索,也许OpenSSE更适合你,欢迎使用。

 

1、SIFT综述

尺度不变特征转换(Scale-invariant feature transform或[......]

Read more

Surf算法学习心得(一)——算法原理



Surf算法学习心得(一)——算法原理

Surf算法是对Sift算法的一种改进,主要是在算法的执行效率上,比Sift算法来讲运行更快!由于我也是初学者,刚刚才开始研究这个算法,然而网上对于Surf算法的资料又尤为极少,稍微介绍的明白一点的还是英文。所以在此想借这个机会把我所理解的部分介绍一下,对于后面准备学习Surf算法的朋友来说,希望有一点点的帮助!言归正传,心得大致包括几下几部分:
1、算法原理;2、源码简析;3、OpenCV中Demo分析;4、一些关于Surf算法的剖析。
Surf算法原理:

参考资料:Surf算法论文及实现源码
作为尺度不变特征变换算法(Sift算法)[......]

Read more

Surf算法学习心得(二)——源码简析

Surf算法学习心得(二)——源码简析

Surf算法源代码分析
surf算法源代码分为两种文件,学过C/C++的都知道,在此不多说。头文件主要包括:imload.h、ipoint.h、image.h、fasthessian.h、surf.h、surflib.h,其中每个文件用于声明一个特定的相应类,下面大体进行简单介绍。
ImLoad.h——声明类ImLoad,主要封装了对图像的读取和保存函数。
Image *readImage(const char *filename); //从图像文件中读取图像
void saveImage(const char *filename, Ima[......]

Read more

Surf算法学习心得(三)——OpenCV:SURF算法浅析

Surf算法学习心得(三)——OpenCV:SURF算法浅析

引子: 课题需要SURF特征提取算法,在运动中提取摄像头图像中的特征点,并进行跟踪匹配,以此估计运动状态。开始找到了SIFT算法,SIFT特征提取具有极强的适应能力,但运算量稍大,后来就有了SURF特征提取算法,简化了计算量,保持了较高的性能,是性价比很不错的算法。开始并不知道OpenCV的存在,后来的后来发现OpenCV中已经有了SURF算法,感叹于技术发展之快(要知道SIFT是Low在2004年系统的提出的,SURF是在2006年才被Bay等提出的),感谢Low, Bay, et al. 感谢Internet、感谢Goog[......]

Read more

图像特征检测(Image Feature Detection)

图像特征检测(Image Feature Detection)
前言
图像特征提取是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。本文主要探讨如何提取图像中的“角点”这一特征,及其相关的内容。而诸如直方图、边缘、区域等内容在前文中有所提及,请查看相关文章。OpenCv(EmguCv)中实现了多种角点特征的提取方法,包括:Harris角点、ShiTomasi角点、亚像素级角点、SURF角点、Star关键点、FAST关键点、Lepetit关键点等等,本文将逐一介绍如何检测这些角点。在此之前将会先介绍跟角点检测密切相关的一些变换,包括So[......]

Read more

SIFT算法研究

SIFT算法研究

1综述

结合论文[1]和Rob Hess的开源SIFT代码(发现OpenCV2.3的源码里也是用的Rob Hess的SIFT代码)对SIFT算法进行了研究,下面是小结:

在计算机视觉的领域中,图像匹配是很多问题最重要的一个方面,包括物体和场景识别,通过多幅图像进行3D重构,立体匹配和运动跟踪。SIFT特征对于图像的旋转和尺度变化具有不变性,对于光照改变和摄像机角度变化具有部分的不变性。SIFT算法生成图像特征的主要步骤有以下几个:

(1)尺度空间极值检测:搜索所有尺度上的图像位置。通过高斯微分函数来识别潜在的对于尺度和旋转不变的兴趣点。

(2)关[......]

Read more

windows7 64位机上配置MinGW+Codeblocks+ wxWidgets

windows7 64位机上配置MinGW+Codeblocks+ wxWidgets

在Windows7 64位机子上安装配置MinGW+Codeblocks+wxWidgets步骤如下:

1、 下载mingw-get-inst-20111118:http://sourceforge.net/projects/mingw/;

2、 双击mingw-get-inst-20111118.exe,一般按默认即可,选择自己需要的组件;

3、 添加MinGW环境变量:选择计算机–>点击右键–>选中属性–>高级系统设置–>高级–>点击环境变[......]

Read more

Windows7下配置MinGW+CodeBlocks+OpenCV2.3.1

Windows7下配置MinGW+CodeBlocks+OpenCV2.3.1

1、下载mingw-get-inst-20111118:http://sourceforge.net/projects/mingw/

2、双击mingw-get-inst-20111118.exe,一般按默认即可,选择自己需要的组件;

3、添加MinGW环境变量:选择计算机–>点击右键–>选中属性–>高级系统设置–>高级–>点击环境变量–>选中PATH,点击编辑,将C:\MinGW\bin加入到环境变量中,点击确定,在cmd中输入gcc,如果提示:[......]

Read more

机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)

机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)
机器学习算法与Python实践这个系列主要是参考《机器学习实战》这本书。因为自己想学习Python,然后也想对一些机器学习算法加深下了解,所以就想通过Python来实现几个比较常用的机器学习算法。恰好遇见这本同样定位的书籍,所以就参考这本书的过程来学习了。

这节学习的是逻辑回归(Logistic Regression),也算进入了比较正统的机器学习算法。啥叫正统呢?我概念里面机器学习算法一般是这样一个步骤:

1)对于一个问题,我们用数学语言来描述它,然后建立一个模型,例如回归模型或者分类模型[......]

Read more

在命令行中运行eclipse中创建的java项目

在命令行中运行eclipse中创建的java项目

由于项目要求,需要对eclipse中的项目进行打包,似的可以在客户机上不装eclipse的情况下正常运行。
一.环境说明:
eclipse—3.5
jdk——-1.6.0.22
os——–xp,win7
二.解决方案详情:
1.项目不引用外部jar包,仅仅依赖于jdk相关jar包,则有两种解决方案
方案一、通过eclipse/myeclipse–>export–>java–>runnable JAR File,
按照提示选择Main方法,再下一步,最终生成jar文件;在cmd命[......]

Read more