Halcon匹配方法

基于形状的匹配

不可缩放模板

create_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric, Contrast, MinContrast : ModelID)

 create_shape_model_xld(Contours : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric, MinContrast : ModelID)

各项同性可缩放模板

create_scaled_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, ScaleMin, ScaleMax, ScaleStep, Optimization, Metric, Contrast, MinContrast : ModelID)

 create_scaled_shape_model_xld(Contours : : NumLevels, AngleStart, AngleExtent, AngleStep, ScaleMin, ScaleMax, ScaleStep, Optimization, Metric, MinContrast : ModelID)

各向异性可缩放模板

create_aniso_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, ScaleRMin, ScaleRMax, ScaleRStep, ScaleCMin, ScaleCMax, ScaleCStep, Optimization, Metric, Contrast, MinContrast : ModelID)

 create_aniso_shape_model_xld(Contours : : NumLevels, AngleStart, AngleExtent, AngleStep, ScaleRMin, ScaleRMax, ScaleRStep, ScaleCMin, ScaleCMax, ScaleCStep, Optimization, Metric, MinContrast : ModelID)

可方便的检查创建模板的图像金字塔层数和对比度参数

inspect_shape_model(Image : ModelImages, ModelRegions : NumLevels, Contrast : )

 参数

Contrast

传入1个元素时,直接提取边缘

传入2个元素时,表示使用磁滞分割来提取边缘,第一个元素为上阈值,第二个元素为下阈值

传入3个参数时,表示使用磁滞分割来提取边缘,第三个参数表示所提取的边缘的最小长度

Optimization

一些模板包含了太多的像素点,这导致模板过大,增加了执行时间和内存需求

 

none  不减少像素

point_reduction_low  大约一半点

point_reduction_medium  大约1/3

point_reduction_high  大约1/4

该参数除了可以用来减少像素,还可以用于控制模板的创建方式,来选择是内存优先还是速度优先。

pregeneration  模板预先创建,牺牲内存来换取查找速度

no_pregeneration  在查找时才创建必须数据,占用内存少

通过set_system('pregenerate_shape_models','true'/'false')可以统一设置

MinContrast

MinContrast参数是被查找图片的最小对比度

查找

find_shape_model(Image : : ModelID, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness : Row, Column, Angle, Score)

find_shape_models(Image : : ModelIDs, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness : Row, Column, Angle, Score, Model)    可同时搜寻多个模板

边界处理

set_system('border_shape_models','true')  模板可以部分在ROI外

set_system('border_shape_models','false')  模板必须在ROI内

基于组件的匹配

 基于组件的匹配是形状匹配的扩展算法,只有一个组件会在整个ROI区域搜索,其余组件会根据组件之间的关联关系去小范围搜索。

create_component_model()

create_trained_component_model()

train_model_components()

find_component_model()

基于灰度的(互相关)匹配

归一化互相关系数匹配(Normalized Cross Correlation Matching,NCC),受光照变换不明显,对于物体有轻微变形,图像模糊、边缘不清晰的图片,图片有文理的情况,使用形状匹配比较困难,而NCC可以解决。

变形匹配

 

 

 

转载于:https://www.cnblogs.com/larry-xia/p/11375175.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值