【一】1D测量 Measuring——measure_pos()算子


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

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

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

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


学习目标

  • measure_pos()

学习内容

算子简介

函数名解释
measure_pos()提取与矩形或环状弧垂直的直线边缘,提供匹配边缘的中点坐标值,并提供该点至下一个匹配点的间距。

1、measure_pos()

  measure_pos(Image : : MeasureHandle, Sigma, Threshold, Transition, Select : RowEdge, ColumnEdge, Amplitude, Distance)

  函数说明: 提取与矩形或环状弧垂直的直线边缘,提供匹配边缘的中点坐标值,并提供该点至下一个匹配点的间距。

    该算法通过计算垂直于矩形或环形弧的长轴的“切片”中的灰度值的均值以获得一维边缘轮廓。采样是在矩形中心的整数行和列位置(在矩形的坐标系中)的图像Image中的亚像素位置完成的。由于这含有可以在多次测量中重复使用的一些计算,所以使用算子gen_measure_rectangle2或gen_measure_arc来执行一次这些计算,从而显著提高了measure_pos的速度。由于在灰度值的亚像素计算中存在精度和速度之间的折衷,并且因此在所提取的边缘位置的准确度中,可以在gen_measure_rectangle2中选择不同的插值方案。 (插值仅影响与图像轴不对齐的矩形。)使用gen_measure_rectangle2生成的measure对象在MeasureHandle中传递。

    在计算出一维边缘轮廓之后,通过将轮廓与标准偏差Sigma的高斯平滑核的导数进行卷积来计算亚像素边缘位置。可以用构成振幅阈值的参数Threshold(即边缘的一阶导数的绝对值)来选择显著边缘。请注意,幅度值按Sigmasqrt(2pi)比例缩放。另外,可以仅选择正边缘,即在矩形或弧的长轴方向上构成暗到亮的过渡的边缘(Transition = ‘positive’),或者只有负边缘,即,亮到暗过渡(Transition =‘negative’)或两种类型的边缘(Transition =‘all’)。最后,可以选择返回哪个边缘点。如果Select设置为’all’,则返回所有边缘点。如果设置为’first’,则只返回第一个提取的边缘点,而设置为’last’,则只返回最后一个。

    提取的边缘将把位于矩形或圆弧长轴上的单个点(RowEdge,ColumnEdge)作为提取的边缘返回。 Amplitude返回相应的边缘振幅。 另外,连续的边缘点之间的距离以Distance返回。 这里, Distance[i]对应于Edge[i]和Edge[i+1]之间的距离,即,元组Distance 含有比(RowEdge 和ColumnEdge)的长度-1个元素

  函数参数:
    Image:输入图像名称;
    MeasureHandle:输入测量尺度的句柄;
    Sigma:高斯滤波系数。默认1.0,参考:0.4,0.6,0.8,1.0,1.5,2.0,3.0,4.0,5.0,7.0,10.0。范围:0.4≤Sigma≤100;
    Threshold:最小边缘幅度/阈值。默认:30.0;参考:5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 90.0, 110.0;范围:1 ≤ Threshold ≤ 255 (lin);
    Transition:选择检测过渡边沿的灰度值方式,默认:‘all’,参考:‘all黑到白,白到黑’,‘positive黑到白’,‘negetive 白到黑’;
    Select:返回所有边缘对,默认:'all’全部返回参考:’last’返回最后一对,'first’返回第一对
    RowEdge:输出匹配边沿起点的y值坐标;
    ColumnEdge:输出匹配边沿起点的x值坐标;
    AmplitudeFirst:输出匹配边沿的幅值;
    InterDistance:输出匹配中心点和下一个匹配点之间的距离。

Halcon例程

measure_pin.hdev      	 测量IC的引脚
measure_ic_leads.hdev     测量IC的引线
measure_fill_level.hdev    检查瓶颈的液位
measure_arc.hdev         测量金属部件沿着圆弧的的宽度
gen_measure_rectangle2.hdev   测量垂直于给定线的边缘
gen_measure_arc.hdev       测量垂直于给定弧的边
create_drawing_object_rectangle2.hdev 使用绘图对象在矩形内交互测量直边
3d_coordinates.hdev         测量世界坐标中的倾斜物体

【1D测量 Measuring部分】 待更新算子

  • close_measure()
  • close_all_measure()
  • fuzzy_meature_pairing()
  • fuzzy_meature_pairs()
  • gen_meature_arc()
  • gen_meature_rectangle2()
  • meature_pairs()
  • meature_pos()
  • meature_projection()
  • set_fuzzy_meature()
  • set_fuzzy_meature_norm_pair()
  • translate_measure()

汇总

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


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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

cqy阳

预祝上岸,感谢打赏

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

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

打赏作者

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

抵扣说明:

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

余额充值