- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计指导教师评语
成 绩:___________
指导教师签字:___________
目 录
目 录 3
1 选题背景及需求简介 4
2 总体设计 4
2.1系统功能组成 4
2.2开发工具 4
3 详细设计 5
3.1载入原始图片 5
3.2使用SURF算子检测关键点 5
3.3调用detect函数检测出SURF特征关键点,保存在vector容器中 5
3.4计算描述符(特征向量) 5
3.5使用FLANN匹配算子进行匹配 5
3.6计算出关键点之间距离的最大值和最小值 6
3.7存下匹配距离小于3*min_dist的点对 6
3.8绘制出匹配到的关键点 6
3.9显示最终结果 7
4 程序运行 7
4.1官方图像对 7
4.2个人图像对 7
5 参考资料 8
基于FLANN特征匹配寻找已知物体
1 选题背景及需求简介
计算机视觉是一个近几年来日趋成熟的领域。随着运算性能强劲而又价格实惠的计算设备的不断问世,创建复杂的图像应用从未像今天这般容易。OpenCV在计算机视觉领域扮演着重要的角色,它是一个基于开源发行的跨平台计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法。
特征点的检测和匹配是计算机视觉中非常重要的技术之一,在物体检测、视觉跟踪、三维重建等领域都有很广泛的应用。
程序部分在设计和开发阶段用到了很多网上的相关文献和资源,在本次设计中采用Microsoft Visual Studio2012版本和OpenCV2.4.9作为开发工具。
由于时间有限,代码部分分阶段开发,本次开发为第一阶段,主要实现了利用SURF检测器检测关键点、计算特征向量和采用FLANN算法匹配描述符向量。匹配准确率与时间效率等方面为第二阶段设计,在此不做介绍。
2 总体设计
2.1系统功能组成
在FLANN特征匹配的基础上,利用Homography映射找出已知物体。利用findHomography函数通过匹配的关键点找出相应的变换,再利用perspectiveTransform函数映射点群。
也就是分为以下两个步骤:
(1)使用findHomography寻找匹配上的关键点的变换。
(2)使用perspectiveTransform来映射点。
2.2开发工具
Microsoft Visual Studio 2012
OpenCV 2.4.9
3 详细设计
3.1载入原始图片
Mat srcImage1 = imread( view11.bmp, 1 );
Mat srcImage2 = imread( view15.bmp, 1 );
3.2使用SURF算子检测关键点
int minHessian = 400;//SURF算法中的hessian阈值
SurfFeatureDetector detector( minHessian );//定义一个SurfFeatureDetector(SURF) 特征检测类对象
vectorKeyPoint keypoints_object, keypoints_scene;//vector模板类,存放任意类型的动态数组
3.3调用detect函数检测出SURF特征关键点,保存在vector容器中
detector.detect( srcImage1, keypoints_object );
detector.detect( srcImage2, keypoints_scene );
3.4计算描述符(特征向量)
SurfDescriptorExtractor extractor;
Mat descriptors_object, descriptors_scene;
pute( srcImage1, keypoints_object, descriptors_object );
pute( srcImage2, keypoints_scene, descriptors_scene );
3.5使用FLANN匹配算子进行匹配
FlannBasedMatcher matcher;
vector DMatch matches;
matcher.match( descriptors_object, descriptors_scene, matches );
double max_dist = 0; double min_dist =
您可能关注的文档
最近下载
- 高中数学人教A版(2019)选择性必修第一册知识点归纳含答案.pdf VIP
- 农村污水治理工程施工方案与技术措施.pdf VIP
- 关于马克思主义环境法思想探究.doc VIP
- 越众集团2012年招聘简章.doc VIP
- 酒店装修施工组织设计.doc VIP
- 半导体光电子器件全套教学课件.pptx
- 日语初级~阅读理解.pdf VIP
- 人教版九年级数学第二十四章《圆》单元知识点总结.doc VIP
- 2022-2028全球及中国化学水处理设备行业研究及十四五规划分析报告.docx VIP
- CISSP Official (ISC)2 Practice Tests英文(第3版)考试认证文档p.pdf VIP
文档评论(0)