网站大量收购独家精品文档,联系QQ:2885784924

基于相关系数影像匹配实习报告.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于相关系数影像匹配实习报告

基于相关系数影像匹配实习报告 实习内容与目的 通过上机编程实现基于相关系数算法的影像匹配,从而更加熟练的掌握书本上关于影像匹配及相关系数算法的理论知识,并熟悉上机编程的操作。 实习原理 影像匹配实质上是在两幅或是多幅影像之间识别同名点,其中基于相关系数的算法是实现影像匹配的基本算法之一。 相关系数是标准化的协方差函数,协方差函数除以两信号的方差即得相关系数。计算相关系数的公式如下: g(x,y)与g’(x’,y’)的相关系数为: 其中: 若(p0, q0)(p, q),(p≠p0,q≠q0),则p0,q0为搜索区影像相对于目标区影像的位移参数。由离散灰度数据对相关系数的估计为 , 考虑到计算工作量,相关系数的实用公式为 实习步骤及相关代码 在第一次点特征点实习的基础上我们组进行了第二次基于相关系数的影像匹配实习。所以程序实现的部分操作直接利用前次实习的中的程序。 读入左右影像 FILE* pSrcFileLeft = NULL; pSrcFileLeft = fopen(srcFileLeft,rb); if(pSrcFileLeft == NULL) { printf(原始左片影像打开失败\n); return FAILURE; } FILE* pSrcFileRight = NULL; pSrcFileRight = fopen(srcFileRight,rb); if(pSrcFileRight == NULL) { printf(原始右片影像打开失败\n); return FAILURE; } 确定目标窗口大小 通过老师课堂上的讲授和我们在编程过程中的不断尝试,我们默认使用的窗口的尺寸为11*11。 确定目标点的位置 由前次的实习中得到左相片中的特征点作为这次实习的目标点。 预测右影像搜索范围 本程序中也在左相片中计算出了特征点,然后将左右两相片中的特征点进行计算相关系数。 逐窗口计算相关系数并保存相应的储存单元 将左相片中的目标点与右相片中的特征点进行相关系数的计算。 比较相关系数,取最大相关系数作为匹配点 对于分别比较上一步骤中计算出的相关系数,选取出最大的一个相关系数作为匹配点。 程序操作如下: 在程序主界面中点击Extend中选取ImageMatch选项,然后进入参数设置界面。 设置读取和保存影像路径和窗口大小等参数后,点击Progress进行运算。 实习结果及分析 作为数据源的左右影像如些图所示: 左相片 右相片 经过计算后得到的目标点左右图像分别如下所示: 左相片 右相片 显示匹配点号: 通过老师得到的图片可以看出在左相片中得到的五个目标点中有四个在右相片中找到了同名点,由此可以看出本程序基本满足实习要求,并得到理想的结果。不足的地方就是选取的特征点的数量不够多,这样就无法判断本程序的“误判”的情况如何。 实习体会 在学习到相关系数的时候,一看到计算相关系数的公式的时候我就有种被折服的感觉,那个公式实在是太复杂,它使我感觉我怎么也不能记住这个复杂的公式。不过经过这次实习后,我觉得这个公式又不是当初认为的那样无法记忆。我想这次实习我最大的收获就是对于之前在学习过程中遇到不懂知识以及难以记忆的知识都得到了加强,方便了我对他们的理解与记忆。 其次,在编程过程中更加锻炼自己动手编程的能力,使得我编程能力较之前有着一定的提高。每次编程实习都是一个积累经验的过程,然后通过一次次的实习后,我最终的能力就能够得到很好的体现。 附件: void Moravec(BYTE* pSrcBits, vectorFEATUREPOINT *FeaturePoint, int m_threshold, int m_window1, int m_window2, int width, int height, int* Count1) { 。。。。。。。。此部分程序与点特征程序中代码一样,因此不再重复粘贴 } vectorFEATUREPOINT RemoveReplicative(vectorFEATUREPOINT v) { vectorFEATUREPOINT ret; vectorFEATUREPOINT::iterator iter = v.begin(); ret.clear(); ret.push_back(*iter); vectorFEATUREPOIN

您可能关注的文档

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档