学习记录 Halcon 模板匹配算子

一.创建模板算子

 1.创建ncc模板

create_ncc_model( Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Metric : ModelID )

参数介绍:

Template(in):搜索的图像,要作为模板的图案

NumLevels(in):金字塔的最大层级(如果NumLevels设置为'auto'或0,create_ncc_model自动确定金字塔级别的数量)

AngleStart(in): 指定起始角度(弧度)

AngleExtent(in):相对于旋转角度的范围

AngleStep(in):角度步长(如果选择AngleStep = 'auto'或0,create_ncc_model将根据模型的大小自动确定合适的角度步长。可以使用get_ncc_model_params查询自动计算的角度步长)

Metric(in):匹配标准      'use_polarity'目标和背景的灰度关系(必须保持模板和要匹配的区域灰度关系相同)

                                             ‘ ignore_global_polarity ’,对比度完全逆转也就是物体比背景颜色深,也可以找到它

ModelID(out):模板句柄

 2.创建shape模板

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

参数介绍:

Template(in):搜索的图像,要作为模板的图案

NumLevels(in):金字塔的最大层级(如果NumLevels设置为'auto'或0,create_ncc_model自动确定金字塔级别的数量)

AngleStart(in): 指定起始角度(弧度)

AngleExtent(in) :相对于旋转角度的范围

AngleStep(in):角度步长(如果选择AngleStep = 'auto'或0,create_ncc_model将根据模型的大小自动确定合适的角度步长。可以使用get_ncc_model_params查询自动计算的角度步长)

Optimization(in):设置模板优化和模板创建方法

Metric(in):匹配方法设置        'use_polarity'目标和背景的灰度关系(必须保持模板和要匹配的区域灰度关系相同)

                                                       ‘ ignore_global_polarity ’,对比度完全逆转也就是物体比背景颜色深,也可以找到它

Contrast(in):设置对比度(可以通过inspect_shape_modelinspect_shape_model算子确定对比度)

MinContrast(in):设置最小对比度(对于灰度差距不大时,使用低对比度)

ModelID(out):输出模板句柄

3.创建shape  可缩放模板

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

参数介绍:

Template(in):搜索的图像,要作为模板的图案

NumLevels(in):金字塔的最大层级(如果NumLevels设置为'auto'或0,create_ncc_model自动确定金字塔级别的数量)

AngleStart(in): 指定起始角度(弧度)

AngleExtent(in) :相对于旋转角度的范围

AngleStep(in):角度步长(如果选择AngleStep = 'auto'或0,create_ncc_model将根据模型的大小自动确定合适的角度步长。可以使用get_ncc_model_params查询自动计算的角度步长)

ScaleMin(in):缩放最小值

ScaleMax(in):缩放最大值

ScaleStep(in):缩放步长

Optimization(in):设置模板优化和模板创建方法

Metric(in):匹配方法设置        'use_polarity'目标和背景的灰度关系(必须保持模板和要匹配的区域灰度关系相同)

                                                       ‘ ignore_global_polarity ’,对比度完全逆转也就是物体比背景颜色深,也可以找到它

Contrast(in):设置对比度(可以通过inspect_shape_modelinspect_shape_model算子确定对比度)

MinContrast(in):设置最小对比度(对于灰度差距不大时,使用低对比度)

ModelID(out):输出模板句柄

二、匹配模板算子

 1.查找ncc模型

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

参数介绍:

Image(in):要搜索的图像

ModelID(in):模板句柄

AngleStart(in):模板的最小旋转(与模板设置的参数相同)

AngleExtent(in):旋转角度范围(与模板设置的参数相同)

MinScore(in):被找到的模板最小分数(匹配的精度,给的值越大,匹配的越准确)

NumMatches(in):被找到的模板个数(如果给0,则输出所有可能的结果)

MaxOverlap(in):被找到的模板实例最大重叠部分

SubPixel(in):亚像素级别标志,true,false

NumLevels(in):金字塔层级数

Row(out):被找到的模板实例行坐标

Column(out):被找到的模板实例列坐标

Angle(out):被找到的模板实例的旋转角度(相对于模板旋转的角度)

Score(out):被找到的模板实例的分数( 找到的模型实例的得分,得分越高匹配越准确

2.查找shape模型

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

参数介绍:

Image(in):要搜索的图像

ModelID(in):模板句柄

AngleStart(in):模板的最小旋转(与模板设置的参数相同)

AngleExtent(in):旋转角度范围(与模板设置的参数相同)

MinScore(in):被找到的模板最小分数(匹配的精度,给的值越大,匹配的越准确)

NumMatches(in):被找到的模板个数(如果给0,则输出所有可能的结果)

MaxOverlap(in):被找到的模板实例最大重叠部分

SubPixel(in):亚像素级别标志(设为’ interpolation’ ,则会精确到,这个模式不会占用太多时间,若需要更精确,则可设为’ least_square’,’ lease_square_high)

NumLevels(in):金字塔层级数

Greediness (in):贪婪程度(值越大的时候,查找的越快,查找的越粗略)

Row(out):被找到的模板实例行坐标

Column(out):被找到的模板实例列坐标

Angle(out):被找到的模板实例的旋转角度(相对于模板旋转的角度)

Score(out):被找到的模板实例的分数( 找到的模型实例的得分,得分越高匹配越准确

 3.查找shape缩放模型

find_scaled_shape_model(Image : : ModelID, AngleStart, AngleExtent, ScaleMin,ScaleMax,MinScore, NumMatches, MaxOverlap, SubPixel,NumLevels, Greediness : Row, Column, Angle, Scale,Score) 

Image(in):要搜索的图像

ModelID(in):模板句柄

AngleStart(in):模板的最小旋转(与模板设置的参数相同)

AngleExtent(in):旋转角度范围(与模板设置的参数相同)

ScaleMin(in):缩放的最小值

ScaleMax(in):缩放的最大值

MinScore(in):被找到的模板最小分数(匹配的精度,给的值越大,匹配的越准确)

NumMatches(in):被找到的模板个数(如果给0,则输出所有可能的结果)

MaxOverlap(in):被找到的模板实例最大重叠部分

SubPixel(in):亚像素级别标志(设为’ interpolation’ ,则会精确到,这个模式不会占用太多时间,若需要更精确,则可设为’ least_square’,’ lease_square_high)

NumLevels(in):金字塔层级数

Greediness (in):贪婪程度(值越大的时候,查找的越快,查找的越粗略)

Row(out):被找到的模板实例行坐标

Column(out):被找到的模板实例列坐标

Angle(out):被找到的模板实例的旋转角度(相对于模板旋转的角度)

Scale(out):找到的实例是模板的倍数

Score(out):被找到的模板实例的分数( 找到的模型实例的得分,得分越高匹配越准确

你可能感兴趣的:(Halcon,学习记录,学习)