SIFT特征点提取_第1页
SIFT特征点提取_第2页
SIFT特征点提取_第3页
SIFT特征点提取_第4页
SIFT特征点提取_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 I 摘 要 图像匹配在遥感 医学 计算机视觉等很多领域中有着广泛的应用 是提 取和匹配图像特征是实现图像自动配准的一种重要方法 SIFT 尺度不变特性变换 Scale Invariant Feature Transform 最初是 作为一种关键点的特征提取出来的 其匹配能力较强 可以处理两幅图像之间 发生平移 旋转 防辐射 4 等变换情况下的匹配问题 甚至在某种程度上对 任意角度拍摄的图像也具备较为稳定的特征匹配能力 作为一种优秀的局部特 征描述子 SIFT 算子被广泛应用于目标识别 图像配准 室内场景定位等场合 论文着重介绍了一种基于图像特征值的匹配方法 SIFT 算法 包括 SIFT 算 法的发展历史 算法特点 主要思想和实现步骤 然后实现 SIFT 特征点提取 以寻找一种优化算法 减少 SIFT 的算法复杂度 介绍用什么实验 得到什么 结论 关键词 关键词 SIFT 算法 特征匹配 特征点提取 Astract In remote sensing image matching medical computer vision many adjacent domain in a wide range of applications Extraction and matching image characteristics is to realize the automatic image registration is a kind of important method SIFT was originally as a key point for feature extraction of come out its matching with the strong ability can handle two images occur between translation rotation and anti radiation such transformation under the circumstance of the matching problem even in some extent of arbitrary Angle photographs of image and also has a relatively stable feature matching ability As a kind of excellent local characteristics description son SIFT operators are widely used in target recognition image registration indoor scene positioning and so on This paper mainly introduces a method 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 II based on image eigenvalue of matching method SIFT algorithm Including SIFT algorithm development history algorithm characteristics main ideas and implementation steps and then realized SIFT feature point extraction to find an optimization algorithm to reduce SIFT algorithm complexity 请不要直译 K Ke ey yw wo or rd ds s SIFT algorithm feature matching feature point extraction simplified algorithm 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 I 目 录 摘 要 I 第 1 章 绪论 1 1 1 课题背景 1 1 2 目的意义 1 1 3 研究内容及结构安排 2 第 2 章 智能优化方法 3 2 1 基于蚁群的优化算法 3 2 2 基于鱼群的优化算法 3 2 3 基于神经网络的优化算法 3 2 4 本章小结 3 第 3 章 SIFT 基本算法 4 3 1 构建尺度空间 5 3 2 局部极值点的检测 7 3 3 极值点的方向分配 7 3 4 特征点描述子的生成 8 3 5 SIFT 算法的扩展 9 3 6 本章小结 10 第 4 章 SIFT 算法的改进方案 11 4 1 SIFT 简化算法介绍 11 4 2 SIFT 简化算法 12 4 3 本章小结 14 第 5 章 实验结果及分析 15 5 1 简化算法不变性测试 15 5 2 描述子维数的选择 15 5 3 改进算法的时间复杂度 15 5 4 本章小结 15 致 谢 16 参考文献 17 附录 18 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 1 第 1 章 绪论 1 1 课题背景 SIFT Scale Invariant Feature Transform 算法由 D GLowe 8 于 1999 年提出 2004 年哥伦比亚大学的 David Lowe 7 提出了一种新的提取 特征点的算法 SIFT 算法 后来 Y ke 将其描述子部分用 PCA 代替直方 图的方式 对 SIFT 算法进行改进 目前基于改进 SIFT 特征点的算法在图 像处理中的应用越来越广泛 而且近年来这方面的研究也取得了很大的成 果 较好的解决了物体遮掩 旋转缩放 视觉变换引起的图像变形等问题 本文主要针对图像匹配中的 SIFT 算法进行研究 然后将图片编程到 OPENCV 软件中 并借助 gsl 来实现改进的 SIFT 算法 1 的可用性 1 2 目的意义 在图像提取算法百花齐放的时候 SIFT 算法作为一个崭新特征提取的技 术 具有强大和精确的匹配能力和广阔的发展和应用空间 对 SIFT 算法的 改进和优化方法也有很多 如降低特征向量维数 增强算法的独特性和鲁 棒性等 目前新型改进算法 CSIFT 将 SIFT 与颜色不变量相结合 19 SIFT 算子的应用邻域很广泛 目前已应用于目标识别 移动物体识别和图 像配准和全景拼接等邻域 并仍有很大研究潜力 尤其在图像检索中的应 用研究也有很广泛的应用意义和价值 因此 SIFT 算法将在以后将被更多研 究者深入的研究 并具有更实用的应用价值 图像配准 2 的用处很广泛 其技术广泛应用于计算机视觉 3 目标跟 踪 医疗诊断等许多方面 景象匹配技术给予图像匹配的原理 以其定位 的精确度在理论上与射程无关和自主性强等特点 成为组合导航中颇受重 视的关键技术之一 在遥感领域 实现图像融合 变化检测 图像校正 图像镶嵌等应用中 图像匹配都是必不可少的一个关键步骤 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 2 1 3 研究内容及结构安排研究内容及结构安排 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 3 第 2 章 智能优化方法 优化算法简单介绍 2 1 基于蚁群的优化算法 2 2 基于鱼群的优化算法基于鱼群的优化算法 2 3 基于神经网络的优化算法基于神经网络的优化算法 2 4 本章小结本章小结 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 4 第 3 章 SIFT 基本算法 SIFT 算法的发展历程 SIFT 算法由 D GLowe 1999 年提出 2004 年完善总结 后来 Y Ke 将其描述子部分用 PCA 代替直方图的方式 对其进行改进 SIFT 算法的主要思想 SIFT 算法是一种提取局部特征的算法 在尺度空间寻找极值点 提 取位置 尺度 旋转不变量 SIFT 算法的主要特点 a SIFT 特征是图像的局部特征 对其旋转 尺度缩放 亮度 变化保持不变性 对视觉变化 放射变化 噪声也保持一定 程度的稳定性 b 独特性 Distinctiveness 好 信息量丰富 适用于在海 量特征数据中进行快速 准确的图像匹配 9 c 多量性 即使少数的几个物体 也可以产生大量的 SIFT 特 征向量 d 高速性 经简化的 SIFT 匹配算法可以达到实时性的要求 e 可扩展性 可以很方便的与其他形式的特征向量进行联合 SIFT Scale Invariant Feature Transform 即尺度不变特征变换 它对于图像的尺寸和旋转保持不变性 以下是用来产生 SIFT 图像特征的 主要计算步骤 1 尺度空间检测极值点 计算的第一阶段是搜索所有的尺度和图像位置 使用高斯差分公式可以有效的检测出潜在的特征点 这些特征点对于尺度 缩放的旋转变换具有不变性 2 关键点的定位 对于每个点 确定他们的位置和尺度 3 确定关键点的方向 为每个关键点分配一个方向 以后所有对图像 的数据的操作都被转换为对特征点方向 尺度和位置的操 作 从而保证 变化得不变性 4 生成特征点描述子 通过对关键点当前尺度周围区域的梯度统计 生 成特征点描述子 下面详细介绍 SIFT 算子特征提取的过程 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 5 3 1 构建尺度空间 构建尺度空间的目的是检测对于图像的尺度变化具有不变性的位置 可 以使用尺度的连续函数也就是尺度空间在所有可能的尺度中寻找稳定的特 征 高斯卷积核实实现尺度变换的唯一线性核 因此 若 I x y 为输入 图像 G x y 是尺度可变高斯函数 则一个图像的尺度空间被定义为 函数 L x y 见式 2 1 L x y G x y I x y 2 1 其中 为尺度因子 越大 表示图像的概貌特征 越小 表明图 像的细节特征 为卷积运算 式 2 1 中的高斯函数 G x y 定义为式 2 2 G x y 1 2 2 e x2 y2 2 2 2 2 为了在尺度空间中有效的检测稳定关键点的位置 Lowe 提出了高斯差分卷 积 高斯差分函数 D x y 可以通过不变倍增因子 K 的两个相邻尺度图 像差计算得出 见式 2 3 D x y G x y k G x y I x y L x y k L x y 2 3 选择高斯差分函数的几个优点 1 计算效率高 由于 L 对于每个尺度空间都是需要计算的 而 D 只需在 此基础上做减法操作 2 高斯差分函数 DoG differerce of Gaussian 是尺度归一化算子 LoG Laplacian of Gaussian 的近似 Lindeberg 证明具有因子 2 的尺 度归一化算子 LoG 对于真正的尺度不变性是必须的 DoG 于 LoG 关系如式 2 4 2G G G G x y k G x y k k 2 4 因此 G x y k G x y k 1 2 2G 式 2 5 中的 k 1 因子在所有的尺度中式一个常量 所以不会影响 极值点的位置 当 k 变为 1 时近似的误差会趋近于零 但是在试验中发现 近似值对于极值点检测方面的稳定性没有什么影响 3 实验表明 从尺度归一化 LoG 空间中提取的特征稳定性最佳 优于梯度 Hessian Harris 焦点函数 6 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 6 不要直接贴图不要直接贴图 要自已画要自已画 D x y 具体计算过程见图 2 3 初始图像经逐步高斯卷积运算 得到 一系列尺度空间 即高斯 Gaussian 尺度空间 也就是图中左边的一列 右边一列表示由高斯制度空间经差分运算得到的高斯差分 DoG 尺度空间 尺度空间分为 o 阶 每一阶有 s 层 为了能再高斯差分 DoG 尺度空间的 s 层上检测候选点 需要有 s 2 层的高斯差分尺度空间 因而对应的高斯尺 度空间需要为 则下一层尺度因子为 k 故 k 2I s 在产生了 s 2 个 图像后 顶层图像有 s 3 层 如图所展示的 s 3 个高斯图像产生 s 2 个高 斯差分图像 所以必须首先构造 s 3 个高斯尺度图像 这些图像的尺度因 子 逐个以常数 k 倍递增 即若当前层图像的尺度因子由原始图像进行了 1 2 的采样计算得出 图 2 3 中 左边的 o 阶尺度空间构成高斯金字塔 右边 o 阶尺度空间构成高斯差分金字塔 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 7 3 2 局部极值点的检测 为了检测 D x y 的局部极大值和极小值 每个采样点都要和它同 尺度的 8 个相邻点和上下相邻尺寸对应的 9 2 个点相比较 只有当它比所 有相邻点都大或者都小的时候这个点菜被选择 这个检查的花费是相当低 的 因为大部分的采样点在上一次检查中就被淘汰了 见图 2 4 所示 图要自已画 图标移到图外面来图要自已画 图标移到图外面来 上一步被选择的点称为候选点 但是如果要进行下一步确定关键点的位置 尺度 主曲率 还要剔除那些低对比 对噪声很敏感 的点和处于边缘的 点 3 3 极值点的方向分配 通过为每个关键点分配一个统一的基于局部图像属性的方向 关键点描 述子转化为由它的方向来描述 从而实现图像旋转的不变性 这个方法了 Schmid 和 Mohr 1997 的方向不变描述子 5 这种方法的缺点是它限制 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 8 了描述子的使用并抛弃了一部分图像信息 对于每一个采样点 L x y 计算其梯度模值 m x y 和方向 x y 的公式为式 2 14 和式 2 15 m x y 2 14 21 yL x 1 y L x 2y 1 L x y 1 L x x y tan 1 L x y 1 L x y 1 L x 1 y L x 1 y 2 15 为了进一步精确关键点的方向 采用梯度直方图统计法 以关键点为圆心 1 5 为半径的圆形区域中 统计关键点邻域窗口的梯度值 并绘制梯度直 方图 其中梯度直方图将 360 分为 36 个单元 bin 每 10 为一个单元 每个邻域点对梯度方向的贡献随邻域点与关键点的距离增加而减少 具体 为成高斯函数递增 直方图的峰值处即为关键点的主方向 在主方向被选定之后 梯度直方图中还可能存在一个或一个以上峰值为 主峰值的 80 以上 为了增强匹配的鲁棒性 可以增强一些关键点 这些关 键点于原关键点具有相同位置和尺度 并将符合要求的峰值作为其方向 只有 15 关键点才具有多个方向 3 4 特征点描述子的生成 我们已经计算了关键点的位置 尺度和方向 下一步是要确定关键点描述 子 特征点描述子的生成过程具体如下 键点为圆心将关键点邻域旋转 其中 为关键点的方向 从而保证了 旋转的不变性 在旋转后的图像中 以关键点的中心取 16 16 的邻域窗口 图 2 5 中左图 即为关键点的邻域窗口 每个小格代表关键点邻域窗口中的一个像素 箭 头的长度为像素的模值 箭头的方向为像素的方向 这个方向是旋转后的 像素方向 即 将 16 16 的矩形窗口均匀分为 16 个 4 4 个子区域 如图 2 5 中右图 采 用高斯模糊的方法 高斯模糊的方法有利于增加与关键点较近邻域的权值 并降低与关键点较远邻域的权值 然后计算每个林宇中 8 个方向的梯度累 加值 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 9 得到特征点描述子的特征向量为 4 4 8 128 维向量 经过以上的变换 SIFT 特征向量已经剔除了尺度变换 旋转变换的影响 3 5 SIFT 算法的扩展 SIFT 算法具有很好的鲁棒性和抗干扰性 有着广泛的应用 但是由于 SIFT 算子具有很高的维数 128 维 增强了其计算复杂性和时间复杂度 并且在大规模特征数据库的检索中存在存储压力 国内外研究学者针对其 高维数的缺点 进行了改进和尝试 以求在保持 SIFT 算子良好特征的前提 下 尽量降低其维数 在这些研究中 较为有代表性的事 PCA SIFT 和 GLOH 两者都是从这个方面入手 并且都采用了 PCA Principal componment analysis 技术 PCA 技术 11 是通过对数据降维莱实现简化的目的 通过一个正交矩阵变 换把原数据变换到一个新的坐标系统中 从而实现高维数数据到低维数数 据的转换 原变量中的大部分信息可以用维数少且互不相关的新变量来表 示 主成分的划分按照信息量的数目 包含最大信息的综合指标作为第一 主成分 其次的作为第二主成分 一般主成分的数目按需要反映全部信息 量的百分比来决定 主成分分析主要是采用样本矩阵的协方差矩阵 PCA 技术的优点之一是其完全无参数限制 也就是说 PCA 的计算和实现 过程中不需要人为预先设定的参数或根据任何经验模型对过程进行干预 计算结果只与数据本身有关 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 10 3 6 本章小结 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 11 第 4 章 SIFT 算法的改进方案 SIFT 算法是一种基于局部特征描述的算法 对于每个特征点 根据其邻域 内的像素决定其描述子向量 较全局特征算法在大型数据库匹配中有了更 好的应用 但是由于 SIFT 算子的特征描述子为 128 维 在存储中需要耗费 的存储空间和匹配时间 GLOH 算法虽然比 SIFT 算法由着更好的性能 但其 特征向量也为 128 维 没有在复杂度上进行提高 针对于 SIFT 算法维数较 高的缺点 本论文 SIFT 算法进行了改进 一下为具体的改进算法 4 1 SIFT 简化算法介绍 SIFT 算法的改进方案是从特征点的描述子入手 因为特征点描述子生成 占去整个算法处理时间的大部分 影响了算法的实时性 本论文的改进算 法也是针对于特征点描述子进行改进 本论文的改进算法是将原有的均匀分布的矩形区域改为以关键点为中心 向外扩散的同心圆区域 生成关键点的邻域没有变小 这样改进主要有以 下一些因素 1 SIFT 算法中应用了高斯模糊的方法 也就是将图像与高斯函数即正态函 数做卷积 对于图像来说 高斯模糊生成的曲面等高线是从关键点开始呈 高斯分布的同心圆 这样处理以后与关键点较近区域中的像素对关键点描 述子的生成影响比重较大 而与关键点较远区域中的像素对关键点描述子 的生成影响小 若将原区域划分改为以关键点为中心的同心圆区域 可以 省去高斯的模糊的步骤 2 SIFT 算法需要计算每个关键点的方向 并在描述子生成前旋转邻域 使 关键点的方向为 0 从而保证旋转不变性 这是因为矩形并不具有旋转不 变性 相对而言 圆形区域具有很好的旋转不变性 可以免去邻域角度归 零的步骤 新的描述子构造方法如下 以关键点为中心 16 为直径的圆形窗户区域作为邻域 以保证生成特征点 描述子所需要计算的邻域范围和原算法基本一致 将半径为 8 的圆形邻域以 2 为单位分为 4 个同心圆 图 3 1 即为划分之后 的同心圆 每个格子代表一个像素值 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 12 对于 4 个同心圆区域 分别求出其 10 个方向 0 36 72 108 144 180 216 252 288 324 的梯度累加值 由中心向 外 取第一个圆环的 10 维向量作为特征向量的第一至第十个元素 取第二 个圆环的 10 维向量作为特征向量的第 11 至第 20 个个元素 以此类推 这 样 特征点描述子即为 4 10 40 维向量 为了保证旋转不变性 对特征向量实施排序操作 设 D 使关键点的特征向 量 D1 D2 D3 D4 分别为从中心向外第一 第二 第三 第四个圆环的 特征向量 则 D D1 D2 D3 D4 其中 Di Di1 Di2 Di9 Di10 i 1 4 首先标记出最内圆最大值出现的位置 即 dI1 dI2 dI9 dI10 中的最大值 若 dI1 为最大值 则不需要做任何处理 若最大值不是 dI1 则进行如下操作 将 D1 D2 D3 D4 同时循环左移 直至 D1 中的最大值 为特征向量 D1 中的第一位 设 d17 为向量 D1 中的最大值 则移动之后四 个圆环的特征向量为 Di di7 di8 di10 di1 di2 di6 如果将每 一个 10 维向量分别取向量的最大值并执行此步骤 则匹配的效果会大大降 低 这样操作保证了四个圆环旋转相同的角度 等同于原算法中邻域归零 的操作 从而保证了改进描述子具有选择不变性 4 2 SIFT 简化算法 将编好的程序输入到 VC 运行 具体的步骤为 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 13 第一步 动态文件加入要运行的 DEBUG 里面 第二步 在 options directory 里面加头文件和 lib 文件 在右侧下拉框里面选 include files include files 包含 opencv 安装程序 里的和 gnuwin32 里面的 同样的 lib 文件也是同样的方法 加到 OPENCV 和 GUNWIN32 里面 第三步 升级 VC 运秆就可以了 实验中分别处理了经过旋转的两幅图片 如图 1 图 2 经过观察与 分析得出 两幅图像在经过旋转后 利用 SIFT 简化的算法提取的特征点是 相同的 图 1 图标 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 14 图 2 图标 4 3 本章小结 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 15 第 5 章 实验结果及分析 5 1 简化算法不变性测试 为了验证改进的 SIFT 算法的可行性和有效性 实验验证了在其旋转 尺 度 变换时的图像匹配效果 并与原算法在匹配时间及匹配效果上做对比 编程环境为 OPENCV 5 2 描述子维数的选择 本论文在改进算法中需要确定的一个重要参数是四个同心圆环窗口的向量 维数 即每个同心圆环窗口所要统计的梯度直方图数目 例如 若每个同 心圆环选择的向量维度为 8 则生成的特征向量的维度为 8 8 32 维 向量 维数不是越大越好 选择一个合适的向量维度可以提高查全率 正确率和 降低时间复杂度 5 3 改进算法的时间复杂度 由于改进算子简化了特征点描述子 在匹配效果上有一定的降低 但是 大大降低了 SIFT 算子的维数 时间复杂度也降低了很多 更实用于海亮的 数据搜索 5 4 本章小结 本文在总结了 SIFT 算子的优点的同时 针对其维数过高 不适用于海量数据匹配 的不足 提出了自己的改进方案 本人从改进描述子入手 因为特征点描述子的生成 占居了整个算法处理的大部分时间 简化的特征点描述子将原算法中均匀分布的矩形 区域改为关键点为中心向外扩展的四个同心圆区域 生成关键点所需要计算的邻域没 有变小 只是改进了邻域的划分方法 改进后的 SIFT 算子将特征点描述子的维数由 128 维降至 40 维 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 16 致 谢 论文完成之际 首先衷心地感谢我的指导教师王妍玮老师的谆谆教诲和 悉心指导 在毕业设计的 3 个月时间里 王老师给了我极大的帮助 王老 师知识丰富 思维敏捷 在学业上积极创新的开拓精神令我永生难忘 在 毕业设计和毕业论文撰写阶段 王老师不仅在学习上给予我帮助 而且她 的那种负责的精神和强烈的责任感 对我今后的发展提出了指导性建议 王老师认真敬业的工作态度和为人师表的作风 体现了一个教育工作者的 无私奉献精神和科研工作者严谨的治学态度 这将使我在未来的工作和学 习中受益终身 在此谨向尊敬的王老师致以我最诚挚的谢意 还要感谢华德学院电子信息工程系的所有教师 在学习和生活上你们都给 予我最宝贵的意见和极大的帮助 还有我的指导员王明志教师 在平时的 学习和生活中给予我的鼓励和关心 感谢我的父母 一直以来对我无私的关怀和付出 在面对各种困难时 给我支持的 鼓励 感谢所有关心我 帮助过我的朋友和同学 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 17 参考文献 1 王国美 陈孝威 SIFT 特征匹配算法研究 D 贵州大学计算机科学与技 术学院 2007 2 何文峰 查红彬 基于平面特征的深度图像配准 D 北京大学 2006 3 马颂德 张正友 计算机视觉 计算理论与算法基础 M 北京 科学出 版社 2003 4 于长江 高等画法几何学 M 北京 航空专业教材编审组 1983 5 Schmid C Mohr R Local grayvalue invariants for image retrieval J IEEE Transactiongs on Pattern Analysis and Machine Intelligence1997 6 K Mikolajczyk detection of local features invariant to affine transformations C Ph D thesis Institut National Polytechnique de Grenoble France 2002 7 David G Lowe Distinctive Image Features from Scale Invariant Keypoints C International Journal of Computer Vision 2004 8 David G Lowe Object recognition from Iocal scale invariant features C International Conferenceon Computer Vision Corfu Greece 1999 9 赵辉 基于特征点的图像配准算法研究 C 山东大学硕士学位论文 2006 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 18 附录 SIFT 源程序代码源程序代码 include utils h include imgfeatures h include include int import oxfd features char struct feature int export oxfd features char struct feature int void draw oxfd features IplImage struct feature int void draw oxfd feature IplImage struct feature CvScalar int import lowe features char struct feature int export lowe features char struct feature int void draw lowe features IplImage struct feature int void draw lowe feature IplImage struct feature CvScalar int import features char filename int type struct feature feat int n switch type case FEATURE OXFD n import oxfd features filename feat break case FEATURE LOWE n import lowe features filename feat break default fprintf stderr Warning import features unrecognized feature type s line d n FILE LINE return 1 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 19 if n 1 fprintf stderr Warning unable to import features from s s line d n filename FILE LINE return n int export features char filename struct feature feat int n int r type if n 0 feat fprintf stderr Warning no features to export s line d n FILE LINE return 1 type feat 0 type switch type case FEATURE OXFD r export oxfd features filename feat n break case FEATURE LOWE r export lowe features filename feat n break default fprintf stderr Warning export features unrecognized feature type s line d n FILE LINE return 1 if r fprintf stderr Warning unable to export features to s s line d n filename FILE LINE return r 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 20 void draw features IplImage img struct feature feat int n int type if n d if f2 d d return DBL MAX 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 21 descr1 f1 descr descr2 f2 descr for i 0 i FEATURE MAX D 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 22 fprintf stderr Warning descriptor too long s line d n FILE LINE return 1 f calloc n sizeof struct feature for i 0 i n i if fscanf file lf lf lf lf lf free f return 1 f i img pt x f i x x f i img pt y f i y y f i a a f i b b f i c c f i d d f i type FEATURE OXFD for j 0 j d j if fscanf file lf free f return 1 f i descr j dv 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 23 f i scl f i ori 0 f i class 0 f i fwd match f i bck match f i mdl match NULL f i mdl pt x f i mdl pt y 1 f i feature data NULL if fclose file fprintf stderr Warning file close error s line d n FILE LINE free f return 1 features f return n int export oxfd features char filename struct feature feat int n FILE file int i j d if n 0 fprintf stderr Warning feature count d s line s n n FILE LINE return 1 if file fopen filename w fprintf stderr Warning error opening s s line d n filename FILE LINE return 1 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 24 d feat 0 d fprintf file d n d n d n for i 0 i n i fprintf file f f f f f feat i x feat i y feat i a feat i b feat i c for j 0 j nChannels 1 color FEATURE OXFD COLOR for i 0 i a feat b feat b feat c double v 4 0 double e 2 0 CvMat M V E 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设计 论文 25 double alpha l1 l2 cvInitMatHeader cvInitMatHeader cvInitMatHeader cvEigenVV l1 1 sqrt e 1 l2 1 sqrt e 0 alpha atan2 v 1 v 0 alpha 180 CV PI cvEllipse img cvPoint feat x feat y cvSize l2 l1 alpha 0 360 CV RGB 0 0 0 3 8 0 cvEllipse img cvPoint feat x feat y cvSize l2 l1 alpha 0 360 color 1 8 0 cvLine img cvPoint feat x 2 feat y cvPoint feat x 2 feat y color 1 8 0 cvLine img cvPoint feat x feat y 2 cvPoint feat x feat y 2 color 1 8 0 int import lowe features char filename struct feature features struct feature f int i j n d double x y s o dv FILE file if features fatal error NULL pointer error s line d FILE LINE if file fopen filename r fprintf stderr Warning error opening s s line d n filename FILE LINE return 1 哈尔滨工业大学华德应用技术学院毕业设计 论文 哈尔滨工业大学华德应用技术学院毕业设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论