开启左侧

[HALCON文档] Halcon中模板匹配方法的总结归纳

[复制链接]
Criss 发表于 2022-11-19 12:26:14 | 显示全部楼层 |阅读模式
基于组件的模板匹配:
应用场合:组件匹配是形状匹配的扩展,但不支持大小缩放匹配,一般用于多个对象(工件)定位的场合。

算法步骤:
1.获取组件模型里的初始控件 gen_initial_components()

参数:
  1. ModelImage [Input] 初始组件的图片
  2. InitialComponents [Output] 初始组件的轮廓区域
  3. ContrastLow [Input] 对比度下限
  4. ContrastHigh [Input] 对比度上限
  5. MinSize [Input] 初始组件的最小尺寸
  6. Mode[Input] 自动分段的类型
  7. GenericName [Input] 可选控制参数的名称
  8. GenericValue [Input] 可选控制参数的值
复制代码


2.根据图像模型,初始组件,训练图片来训练组件和组件相互关系  train_model_components()
3.创建组件模型 create_trained_component_model()
4.寻找组件模型 find_component_model()
5.释放组件模型 clear_component_model()


基于形状的模板匹配:
应用场合:定位对象内部的灰度值可以有变化,但对象轮廓一定要清晰平滑。
  1. 1.创建形状模型:create_shape_model()
  2. 2.寻找形状模型:find_shpae_model()
  3. 3.释放形状模型:clear_shape_model()
复制代码


基于灰度的模板匹配:
应用场合:定位对象内部的灰度值没有大的变化,没有缺失部分,没有干扰图像和噪声的场合。
  1. 1.创建模板:create_template()
  2. 2.寻找模板:best_match()
  3. 3.释放模板:clear_template()
复制代码


基于互相关匹配:
应用场合:搜索对象有轻微的变形,大量的纹理,图像模糊等场合,速度快,精度低。
  1. 1.创建模板:create_ncc_model()
  2. 2.寻找模板:find_ncc_model()
  3. 3.释放模板:clear_ncc_model()
复制代码


基于变形匹配:
应用场合:搜索对象有轻微的变形。
  1. 1.创建模板:create_local_deformable_model()
  2. 2.寻找模板:find_local_deformable_model()
  3. 3.释放模板:clear_deformable_model()
复制代码


基于描述匹配:
应用场合:搜索对象有轻微的变形,透视的场合,根据一些描述点的位置和灰度值来进行匹配。

  1. 1.创建模板:create_calib_descriptor_model()
  2. 2.寻找模板:find_calib_descriptor_model()
  3. 3.释放模板:clear_descriptor_model()
复制代码

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表