SIFT

所属分类:图形图像处理
开发工具:C#
文件大小:822KB
下载次数:47
上传日期:2011-12-30 23:34:22
上 传 者lavander
说明:  自己实现的SIFT特征描述子算法 没有使用任何图形API,行行可跟踪 面向对象,封装精美,调用灵活 条理清晰,便于学习和扩展
(Lowe s SIFT implemented by CSharp)

文件列表:
SIFT\demoData\Einstein1.jpg (11061, 2011-12-15)
SIFT\demoData\Einstein2.jpg (60769, 2011-12-30)
SIFT\SIFT\bin\Debug\MathTool.exe (173568, 2011-12-30)
SIFT\SIFT\bin\Debug\MathTool.pdb (347648, 2011-12-30)
SIFT\SIFT\bin\Debug\SIFT.exe (18432, 2011-12-30)
SIFT\SIFT\bin\Debug\SIFT.pdb (62976, 2011-12-30)
SIFT\SIFT\bin\Debug\SIFT.vshost.exe (14328, 2011-12-30)
SIFT\SIFT\bin\Debug\SIFT.vshost.exe.manifest (490, 2007-07-21)
SIFT\SIFT\Cluster.cs (5917, 2011-12-30)
SIFT\SIFT\Descriptor.cs (4842, 2011-12-30)
SIFT\SIFT\Feature.cs (2867, 2011-12-30)
SIFT\SIFT\Layer.cs (1201, 2011-12-30)
SIFT\SIFT\Matcher.cs (2123, 2011-12-30)
SIFT\SIFT\obj\Debug\ResolveAssemblyReference.cache (10773, 2011-12-30)
SIFT\SIFT\obj\Debug\SIFT.csproj.FileListAbsolute.txt (805, 2011-12-30)
SIFT\SIFT\obj\Debug\SIFT.csproj.GenerateResource.Cache (847, 2011-12-30)
SIFT\SIFT\obj\Debug\SIFT.exe (18432, 2011-12-30)
SIFT\SIFT\obj\Debug\SIFT.pdb (62976, 2011-12-30)
SIFT\SIFT\obj\Debug\SIFT.Properties.Resources.resources (180, 2011-12-30)
SIFT\SIFT\Orientation.cs (5055, 2011-12-30)
SIFT\SIFT\Program.cs (3102, 2011-12-30)
SIFT\SIFT\Properties\AssemblyInfo.cs (1364, 2011-12-14)
SIFT\SIFT\Properties\Resources.Designer.cs (2858, 2011-12-14)
SIFT\SIFT\Properties\Resources.resx (5612, 2011-12-14)
SIFT\SIFT\Properties\Settings.Designer.cs (1089, 2011-12-14)
SIFT\SIFT\Properties\Settings.settings (249, 2011-12-14)
SIFT\SIFT\Pyramid.cs (2055, 2011-12-30)
SIFT\SIFT\Sift.cs (1276, 2011-12-30)
SIFT\SIFT\SIFT.csproj (3597, 2011-12-30)
SIFT\SIFT.sln (1383, 2011-12-30)
SIFT\SIFT.suo (52736, 2011-12-30)
Lavender\bin\Debug\MathTool.exe (173568, 2011-12-30)
Lavender\bin\Debug\MathTool.pdb (347648, 2011-12-30)
Lavender\bin\Debug\MathTool.vshost.exe (14328, 2011-12-30)
Lavender\bin\Debug\MathTool.vshost.exe.manifest (490, 2007-07-21)
Lavender\canvas\canvas2D\Canvas2D.cs (9387, 2011-12-30)
Lavender\canvas\canvas2D\Canvas2D.Designer.cs (6954, 2011-12-30)
Lavender\canvas\canvas2D\Canvas2D.resx (71040, 2011-11-14)
Lavender\canvas\canvas2D\Extent.cs (3398, 2011-12-30)
Lavender\canvas\canvas2D\geometry\Geometry.cs (1740, 2011-12-30)
... ...

SIFT项目依赖Lavender,加载后请重新设定路径。另外SIFT目录下的demoData是示例程序的数据,请务必保留。Lavender是我独立编写的一个功能全面的数学工具包,有关Lavender的用法参见我的LavenderDemo项目。 SIFT项目是David G. Lowe的经典SIFT描述子的实现。程序是面向对象的,可读性和可扩展性都比较强,适合学习或进一步改进或二次开发。 程序注释详细,这里仅给出主要流程Pyramid:图像金字塔(gauss/dog) Layer:金字塔的一个阶 Feature:特征描述子 Cluster:特征点收集器 Orientation:特征定向器 Descriptor:特征描述器 Sift:特征提取器 Matcher:特征匹配器 这里到特征描述及提取都是按照Lowe的原文实现的,但是匹配器这里用了穷举,当然只是由于程序重点放在了特征提取上,对于特征匹配以及消除错误匹配点是最费时的部分,因此我考虑采用卡尔曼滤波序贯算法,把匹配和配准同时完成,并大幅度提高效率,但不想破坏原文思想,因此我将在另一个项目里进行二次开发,如果实现并能达到预期效率,届时我将公开源码。这里的匹配器采用穷举,因此用于大幅图片时效率很低,如果读者需要用于实际工作,请自己实现kd树等更高效的搜索匹配方法。 虽然我已经阅读了原文,并认真理解,但是由于算法自身比较复杂,尺度等高深理论没有完全感性化,加上大量的经验值在其中,程序难免和原文的意思有小的差距,甚至是我的错误理解,影响了算法效果。如果读者发现有错误的地方请与我联系。对算法有改进想法的也可以与我联系,大家共同进步。 作者:闫霄龙 QQ:4***2***240 欢迎朋友们与我交流,不局限于SIFT甚至不局限于计算机!

近期下载者

相关文件


收藏者