一.创建模板算子
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):被找到的模板实例的分数( 找到的模型实例的得分,得分越高匹配越准确)