<Halcon> 形状模板匹配之clutter设置

形状模板匹配之clutter设置

算子: set_shape_model_clutter

set_shape_model_clutter(ClutterRegion : : ModelID, HomMat2D, ClutterContrast, GenParamName, GenParamValue : )

a)从图像中选择形状模型(橙色);

b)提取的形状模型;

c)不使用杂波参数的匹配结果(绿色);

d)另外定义杂波区域(蓝色);

e)形状模型(橙色),由杂波区域扩展(蓝色);

f)使用杂波参数的匹配结果(绿色);

例程

find_shape_model_clutter.hdev 示例程序中,模型对应于 球栅阵列 (BGA)。由于球栅阵列表示重复模式, 应用匹配时,会返回许多匹配项(下图3),而不考虑 模型的邻域。通过定义杂波区域(下图4),搜索可以 仅限于模型的特定实例(下图5)。

算子参数介绍

  • 要定义相对于模型轮廓的杂波区域,需要区域ClutterRegion和变换矩阵HomMat2D,它们将模型轮廓映射到物体在图像中出现的相应位置。通常使用操作符find_shape_model来获得变换矩阵HomMat2D。然后,可以使用使用搜索的相应输出参数的过程get_hom_mat2d_from_matching_result确定转换矩阵。在同一图像中指定区域ClutterRegion。注意,ClutterRegion应该包含多余边缘周围的区域,这些区域对于所有预期的匹配表现来说都是典型的。我们建议在搜索大范围时选择比必要大的杂波区域。此外,选择离期望模型轮廓不太近的杂波区域可以提高鲁棒性。
  • 参数ClutterContrast确定杂波区域中的边缘必须具有的对比度。在许多应用程序中,用于创建形状模型的参数Contrast也是ClutterContrast的合理选择。ClutterContrast不能小于形状模型的MinContrast参数,否则会在运行时抛出错误。发现的杂波边缘的极性被忽略,即深色背景下的明亮物体将产生与明亮背景下的深色物体相同的杂波值,与形状模型的参数Metric无关。请注意,当光照发生变化时,杂波值受到的影响最大。
  • 如果将GenParamName设置为'clutter_border_mode',那么在找到的匹配的杂波区域未完全包含在图像域中的情况下,杂波值的行为可能会受到影响。'clutter_border_mode' (GenParamValue)对应的值可以是'clutter_border_average'或'clutter_border_empty'。
    当GenParamValue设置为 'clutter_border_average' (默认值)时,假设杂乱区域的隐藏部分与其可见部分一样被平均填充。如果杂波区域根本不可见,则将找到的匹配的杂波值设置为0.0。当GenParamValue被设置为 'clutter_border_empty' 时,杂波区域被假定为不可见的空区域。
相关推荐
知来者逆6 个月前
计算机视觉——基于OpenCV和Python进行模板匹配
python·opencv·计算机视觉·模板匹配