基于形状的匹配
不可缩放模板
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可以解决。
变形匹配