算子介绍
inspect_shape_model建立形状模型的表示。运算符对于肯定参数NumLevels和Contrast尤为有用,它们能够快速,方便地用于create_shape_model,create_scaled_shape_model或create_aniso_shape_model中。模型的表示是在多个图像金字塔级别上建立的,其中级别的数量由NumLevels肯定。在其典型用法中,使用NumLevels和Contrast的不一样参数屡次调用inspect_shape_model,直到得到满意的模型为止。以后,使用由此得到的参数调用create_shape_model,create_scaled_shape_model或create_aniso_shape_model。算法
举例说明
《Halcon机器视觉算法原理与编程实战》,11-12.hdev编程
* ------------------- 形状模板匹配程序 ---------------- *第1步:选择模板中的目标 Row1 := 281 Column1 := 160 Row2 := 440 Column2 := 312 *用矩形框选定一个目标区域 gen_rectangle1 (ROI, Row1, Column1, Row2, Column2) *显示ROI区域 dev_display (ROI) *剪裁出这个区域 reduce_domain (ModelImage, ROI, ImageROI) *第2步,建立模板 *检查模板参数 inspect_shape_model (ImageROI, ShapeModelImages, ShapeModelRegions, 4, 50) *显示金字塔各层级的图像,以检查层数的合理性 dev_display (ShapeModelRegions) area_center (ShapeModelRegions, AreaModelRegions, RowModelRegions,ColumnModelRegions) count_obj (ShapeModelRegions, HeightPyramid) *肯定金字塔的层级 for i := 1 to HeightPyramid by 1 if (AreaModelRegions[i - 1] >= 15) NumLevels := i endif endfor *使用ROI图像建立模板 create_shape_model (ImageROI, NumLevels, 0, rad(360), 'auto', 'none', 'ignore_global_polarity', 50, 10, ModelID) *获取轮廓信息,用于结果显示 get_shape_model_contours (ShapeModel, ModelID, 1)