图像匹配算法在OPENCV中的研究与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、VS2010中建立一个OPENCV的工程

使用的opencv版本号是2.4.4

以上两图分别是匹配原图和匹配一张无关图的匹配结果。可以看出匹配结果准确。匹配准确率需要后面实验测试得到结论。

匹配结论中包括:两张图各自的特征点数,匹配的点数,最大和最小距离(该距离是欧式距离),优秀的匹配点。

上图是MFC设计的简要界面。点击开始匹配后,弹出上面的匹配结果。

二、学习的知识点

1、sift算法(surf算法基本与sift算法相同)

sift算法是一种基于尺度空间的算法。该算法利用的特征是图像的局部特征,使其对旋转、尺度缩放、亮度变化具有保持不变性,并在对视角变化、放射变换、噪声也具有很好的保持一定程度的稳定性。

其独特性好,信息量丰富,适用于在大量数据库中进行快速、准确的匹配。

sift算法步骤:

S1:提取关键点。对图像进行处理,提取出图像的关键点,产生关键点集合。

S2:建立两幅图像之间的对于关系。通过两张图像的特征点进行两两比较,找出相匹配的若干对特征点。然后用线连接起来。

S3:消除错误匹配点。用参数估计的方法,对匹配点反复测试、不断迭代运算,消除错误的匹配点。

S4:统计匹配点和匹配点的相关信息。

流程图如下

2、SURF算法和SIFT算法的区别主要在于速度和精度上。SURF描述子大部分是基于强度的差值,计算更快捷,而SIFT描述子通常在搜索正确的特征时更加精确。

两者在OPENCV具体实现中没有很大的差异。都使用了cv::FeatureDetector接口,使用cv::drawKeypoint函数。

3、在面对尺度变化问题时,需要分析图像在拍摄时与目标物体的距离。而SIFT算法具有尺度不变的特性,每个检测的特征点都伴随着对应的尺寸因子。能克服这个问题。SURF算法是SIFT算法的高效变种。同样具有尺幅不变的特征。两者在3D视点变化上的性特,都有一定的体现,具体性能指标需要实验测试。

所谓的尺度空间,在OPENCV中被形象地描述为一个图像金字塔,向下采样一般用高斯金字塔。(理论知识,不太懂)

接下来的计划:

进一步完善MFC的界面,提高人机交互的友好型。

研究原理。

测试相关的实验数据,完善论文框架,提高论文结论的可靠性。

相关文档
最新文档