The Individual Approaches The gray-value-based matching
基于灰度值匹配作为一种典型的匹配方法,仅仅适用于所匹配的对象内部灰度值变化不很明显或者完全不变的情况(没有遮挡,丢失)。这个方法可以处理单个物体的可旋转搜寻,但是比较其他方法,灰度值匹配的方法非常缓慢,并不推荐。只有极少数情况比如说要求匹配时候光照变动的情况,使用灰度值匹配(这时候灰度值之间的关系比灰度绝对值更加有意义)。如果应用中遇到这些稀有的情况,需要使用灰度值匹配方法,
1 匹配主要需要遵循以下步骤:
@当不需要检测旋转时候,使用create_template创建一个模型,同样的,当需要检测旋转的是时候使用create_template_rot来创建一个模型
@使用搜索操作来进行模型搜索,包括best_match, best_match_mg, best_match_pre_mg, best_match_rot, best_match_rot_mg, fast_match, fast_match_mg(下面会有不同方法的区别解释)
@清除存储器中的模型,使用clear_template操作
2 搜索操作的区别:
best_match 和 fast_match 的最大区别就在于输出数据的形式,best_match返回的是最佳匹配对象的坐标(行和列)而快速匹配则在允许一定错误(由MaxError参数设定)的情况下返回一个包含了所有匹配点的Region,不需要每个坐标都记录并且允许一定误差,会快速一些
对于最佳匹配和快速匹配来说,允许特定的变化比如说使用金字塔方式匹配(即操作中添加了mg)。和最佳匹配,快速匹配类似,best_match_mg, fast_match_mg在匹配时候应用了金字塔匹配方式。
best_match_pre_mg同样是使用金字塔方式,不过这里的金字塔式预先创建好的。
best_match_rot 和 best_match_rot_mg与之前操作类似,只是添加了旋转的检测。
3 注意:
@ 创建好的模型可以用write_template来进行保存,用read_template来读取
@模型的尺寸可以用adapt_template来进行调整,用于适应新的图片
@所有的灰度值模型都可以通过设定set_offset_template来 Image 之间减小灰度值改变造成的影响
@模板的参照点可以改变,使用set_reference_template 操作进行设定
|
|