【二】2D测量 Metrology——add_metrology_object_generic()算子


😊😊😊欢迎来到本博客😊😊😊

🌟🌟🌟 Halcon算子太多,学习查找都没有系统的学习查找路径,本专栏主要分享Halcon各类算子含义及用法,有时间会更新具体案例。

😊😊😊 具体食用方式:可以点击本专栏【Halcon算子快速查找】–>搜索你要查询的算子名称;或者点击Halcon算子汇总博客,即可食用。

🎁🎁🎁支持:如果觉得博主的文章还不错或者您用得到的话,可以悄悄关注一下博主哈,如果三连收藏支持就更好啦!这就是给予我最大的支持!😙😙😙


学习目标

  • add_metrology_object_generic()

学习内容

算子简介

函数名解释
add_metrology_object_generic()将测量对象添加到测量模型中

1、add_metrology_object_generic()

  add_metrology_object_generic( : : MetrologyHandle, Shape, ShapeParam, MeasureLength1, MeasureLength2, MeasureSigma, MeasureThreshold, GenParamName, GenParamValue : Index)

  函数说明: 将类型为Shape的计量对象添加到计量模型中并准备矩形度量区域,模型的句柄在MetrologyHandle中传递。 Shape指定将哪种类型的对象添加到计量模型中。运算符add_metrology_object_generic在参数Index中返回添加的度量对象的索引。请注意,add_metrology_object_generic在一个运算符中提供运算符add_metrology_object_circle_measure,add_metrology_object_ellipse_measure,add_metrology_object_rectangle2_measure和add_metrology_object_line_measure的功能。
  其中:Shape参数中指定对象,ShapeParam参数值有所区别。
    圆形: 类型圆的计量对象的几何形状由其中心(行,列)和半径指定。ShapeParam = [行,列,半径]
    旋转矩形: 矩形类型的计量对象的几何形状由其中心(行,列),主轴Phi的方向以及半边长度Length1和Length2指定。 Phi的输入值自动映射到间隔。 ShapeParam = [行,列,Phi,长度1,长度2]
    椭圆: 椭圆类型的计量对象的几何形状由其中心(行,列),主轴Phi的方向,较大的半轴Radius1的长度以及较小的半轴Radius2的长度来指定。 Phi的输入值自动映射到间隔。ShapeParam = [行,列,Phi,Radius1,Radius2]
    线: 类型线的度量对象的几何形状由其起点(RowBegin,ColumnBegin)的坐标和其终点的坐标(RowEnd,ColumnEnd)描述。ShapeParam = [RowBegin,ColumnBegin,RowEnd,ColumnEnd]

  函数参数:
    MeasureHandle:输入测量模型的句柄;
    Shape:输入要测量对象的类型;默认值:‘circle’,参考值:‘circle’,‘ellipse’,‘line’,‘rectangle2’;
    ShapeParam:要添加的测量对象的参数。
    MeasureLength1:输入垂直于边界的测量区域的一半长度;默认值:20,参考值:10,20,30;最小增量:1.0;建议增量:10.0
    MeasureLength2:输入与边界相切的测量区域的一半长度;默认值:5,参考值:3,5,10;最小增量:1.0;建议增量:10.0
    MeasureSigma:输入用于平滑的高斯函数的sigma;默认值:1,参考值:0.4,0.6,0.8,1.0,1.5,2.0,3.0,4.0,5.0,7.0,10.0;最小增量:0.01;建议增量:0.1;限制:(0.4 <= MeasureSigma)&&(MeasureSigma <= 100)
    MeasureThreshold:输入测量阈值/最小边缘幅度;默认值:30,参考值:5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 90.0, 110.0;最小增量:0.5;建议增量:2;
    GenParamName:输入参数名称;参考: ‘distance_threshold’, ‘end_phi’, ‘instances_outside_measure_regions’, ‘max_num_iterations’, ‘measure_distance’, ‘measure_interpolation’, ‘measure_select’, ‘measure_transition’, ‘min_score’, ‘num_instances’, ‘num_measures’, ‘point_order’, ‘rand_seed’, ‘start_phi’;
    GenParamValue:输入参数值;参考:1, 2, 3, 4, 5, 10, 20, ‘all’, ‘true’, ‘false’, ‘first’, ‘last’, ‘positive’, ‘negative’, ‘uniform’, ‘nearest_neighbor’, ‘bilinear’, ‘bicubic’;
    Index:输出创建测量对象的索引值;

案例

create_metrology_model (MetrologyHandle)
read_image (Image, 'fabrik')
get_image_size (Image, Width, Height)
set_metrology_model_image_size (MetrologyHandle, Width, Height)
LinePar := [45,360,415,360]
RectPar1 := [270,232,rad(0),30,25]
RectPar2 := [360,230,rad(0),30,25]
LinePar := [45,360,415,360]
RectPar3 := [245,320,rad(-90),70,35]
* Add two rectangles
add_metrology_object_generic (MetrologyHandle, 'rectangle2', [RectPar1,RectPar2], 20, 5, 1, 30, [], [], Indices)
* Add a rectangle and a line
add_metrology_object_generic (MetrologyHandle, ['rectangle2','line'], [RectPar3,LinePar], 20, 5, 1, 30, [], [], Index)
get_metrology_object_model_contour (Contour, MetrologyHandle, 'all', 1.5)
apply_metrology_model (Image, MetrologyHandle)
get_metrology_object_result_contour (Contour1, MetrologyHandle, 'all',  'all', 1.5)
clear_metrology_model (MetrologyHandle)

Halcon例程

measure_stamping_part.hdev		使用对齐的metroloy模型(校准)测量冲压零件的圆、矩形和直线

【2D测量 Metrology部分】 待更新算子

  • create_metrology_model()
  • set_metrology_model_image_size()
  • add_metrology_object_circle_measure()
  • add_metrology_object_ellipse_measure()
  • add_metrology_object_generic()
  • add_metrology_object_line_measure()
  • add_metrology_object_rectangle2_measure()
  • set_metrology_model_param()
  • set_metrology_object_fuzzy_param()
  • set_metrology_object_param()
  • align_metrology_model()
  • apply_metrology_model()
  • get_metrology_model_param()
  • get_metrology_object_fuzzy_param()
  • get_metrology_object_indices()
  • get_metrology_object_measures()
  • get_metrology_object_model_contour()
  • get_metrology_object_num_instances()
  • get_metrology_object_param()
  • get_metrology_object_result()
  • get_metrology_object_result_contour()
  • clear_metrology_model()
  • clear_metrology_object()
  • copy_metrology_model()
  • deserialize_metrology_model()
  • read_metrology_model()
  • reset_metrology_object_fuzzy_param()
  • reset_metrology_object_param()
  • serialize_metrology_model()
  • write_metrology_model()

汇总

  本专栏博客汇总:Halcon算子汇总


🚶🚶🚶今天的文章就到这里啦~
喜欢的话,点赞👍、收藏⭐️、关注💟哦 ~

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cqy阳

预祝上岸,感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值