一、局部模板匹配
图像匹配是关键点常用功能之一,这节介绍的是围绕每个关键点周围图像块展开的算法——差的平方和算法(SSD)。
1、过程
首先使用上一章介绍的检测器检测关键点,随后定义一个矩形作为图像块的承载器。将一幅图像的全部关键点与第二幅图像比较,在第二幅图像中找出与第一幅图像中每个关键点最匹配的图像块。(每一个过程是:将一个关键点与第二幅图像的一个图形块中的每个像素进行比较,随后是下一个点对面关系),使用函数cv::matchTemplate计算相似程度,并最后会进行一个排序。使用函数cv::drawMatches显示匹配结果,将图像拼接,并用线条连接对应的点。
2、模板匹配
创建待检测图案的模板,提前指定可能发现的区域,在这个区域内滑动模板,计算相似度,进行匹配。使用函数cv::matchTemple
但是这个操作很耗时。
二、描述并匹配局部强度值模式
这里是首先使用检测器检测到关键点,然后对关键点提取描述子,基于SURF和SIFT关键点检测。
利用描述子衡量两个图像检测器检测得到的关键点的匹配程度。
由于关键点检测会检测出很多错误的关键点,因此通常采用交叉检查匹配项(双向匹配)、比率检测法、匹配差值的阈值化这三种方法类提高准确性。
三、用二值描述子匹配关键点
检测器和描述子之间的关系密切,每种检测器都有对应的描述子。这一节的描述子是二值形式的,有ORB、BRISK描述子。
FREAK(快速视网膜关键点)也是一种二值描述子,但是没有对应的检测器。