Halcon之create_shape_model ,create_scale_shape_model 和create_aniso_shape_model之间的区别
前言:
都是halcon用来创建基于形状模板的算子,但功能其实大不相同,在相应的场合用对应的算子,可以事半功倍
一.相同点
二,不同点
-
create_shape_model 主要应用于模板没有太大的形变的条件下,局部可以有轻微变形
-
没有变形的情况,正常使用即可
create_shape_model (ImageReduced, 'auto', -0.39, 0.78, 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID)
find_shape_model (Image, ModelID, -0.39, 0.78, 0.7, 1, 0.5, 'least_squares', 0, 0.9, Row, Column, Angle, Score)
create_shape_model (ImageReduced, 'auto', -0.39, 0.78, 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID) 创建模板正常使用
find_shape_model (SearchImage, ModelID, 0, 0, 0.4, 1, 0.5, 'max_deformation 1', 0, 0.9, Row, Column, Angle, Score)
在匹配模板时,SubPixel参数需设置成局部最大变形量即可
-
create_scale_shape_model 主要应用于模板在X和Y方向有相同的形变的场合
create_scaled_shape_model (ImageReduced, 5, rad(-45), rad(90), 'auto', 0.8, 1.0, 'auto', 'none', 'ignore_global_polarity', 40, 10, ModelID)
在创建模板时,只需要设置缩放比例即可,例如本例种的0.8到1.0
-
create_aniso_shape_model 主要应用于模板在X和Y方向有不同的形变的场合
create_aniso_shape_model (ImageReduced, 'auto', -0.39, 0.79, 'auto', 0.9, 1.1, 'auto', 0.9, 1.1, 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID)
在创建模板时,只需要设置X方向和Y方向的缩放比例即可,例如本例种的0.9到1.1和0.9到1.1