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


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

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

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

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


学习目标

  • meature_pairs()

学习内容

算子简介

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

1、meature_pairs()

  measure_pairs(Image : : MeasureHandle, Sigma, Threshold, Transition, Select : RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, IntraDistance, InterDistance)

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

    提取算法与measure_pos相同。 此外,边被分组为:如果Transition =‘positive’,则在RowEdgeFirst和ColumnEdgeFirst中将返回沿矩形长轴方向的暗到亮过渡的边缘点。 在这种情况下,在RowEdgeSecond和ColumnEdgeSecond中将返回具有明到暗过渡的相应边。 如果Transition = ‘negative’,则行为完全相反。 如果Transition =“all”,则RowEdgeFirst和ColumnEdgeFirst定义为首先检测到的边。 即取决于测量对象的定位,返回具有亮暗亮的边缘对或具有暗亮暗的边缘对。 这适合于测量具有相对于背景的不同亮度的物体。

    如果找到多个具有相同过渡的连续边,则将第一个边用作边缘对的元素。 此行为可能会导致在应用程序中阈值Threshold 不能选择足够高,以抑制相同过渡的连续边缘。 对于这些应用,可以使用第二种找边缘对模式,仅选择一系列连续的上升沿和下降沿的相应最强边沿。 通过将“_strongest”附加到用于转换的上述任何模式(例如,“negative_strongest”)来选择该模式。 最后,可以选择返回哪个边缘对。 如果Select 设置为’all’,则返回所有边缘对。 如果设置为’first’,则只返回第一个提取的边对,而设置为’last’,则只返回最后一个边缘对。

    提取的边作为位于矩形长轴上的单个点返回。 AmplitudeFirst和AmplitudeSecond中返回相应的边缘振幅。 另外,每个边缘对之间的距离在IntraDistance中返回,连续两个边缘对之间的距离在InterDistance中返回。 这里,IntraDistance [i]对应于EdgeFirst [i]和EdgeSecond [i]之间的距离,而InterDistance [i]对应于EdgeSecond [i]和EdgeFirst [i + 1]之间的距离,即,元组InterDistance包含边缘对数量-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’返回第一对
    RowEdgeFirst:输出匹配边沿起点的y值坐标;
    ColumnEdgeFirst:输出匹配边沿起点的x值坐标;
    AmplitudeFirst:输出匹配边沿的幅值;    RowEdgeSecond:输出匹配边沿终点的y值坐标;
    ColumnEdgeSecond:输出匹配边沿终点的x值坐标;
    AmplitudeSecond输出边沿终点的幅值;
    IntraDistance:输出匹配起点和终点之间的距离;
    InterDistance:输出匹配起点和下一个匹配点之间的距离。

Halcon例程

world_coordinates_line_scan.hdev  使用相机校准,测量线扫描图像中卡尺的间距线之间的距离
two_camera_calibration.hdev     使用特殊的校准对象执行高精度拼接
pm_measure_board.hdev      定位电路板上的IC并测量引脚距离
measure_tft_cells.hdev       测量TFT LCD显示器的RGB单元的尺寸
measure_switch.hdev        确定开关的宽度和引脚之间的距离
measure_ring.hdev         用圆形measure对象确定齿轮的宽度
measure_pin.hdev         测量IC的引脚
measure_lcd_cells.hdev       测量分隔LCD显示器单元的框架的尺寸
measure_ic_leads.hdev       测量IC的引线
gen_measure_rectangle2.hdev   测量垂直于给定线的边缘
fuzzy_measure_switch.hdev     用一个模糊度量对象确定一个开关引脚的宽度和距离
fuse.hdev            测量保险丝的厚度
correct_measure_direction.hdev   自动更正测量对象的方向
camera_calibration_multi_image.hdev 校准相机并测量卡尺上的位置
camera_calibration_external.hdev   使用相机校准来测量卡尺上的位置
calibration_aimdpm_1_2006.hdev   在检查2D数据代码的打印质量之前应用反射率校准
calibrate_cameras_telecentric_tilt.hdev 使用远心倾斜镜头(Scheimpflug)校准
align_measurements_multithreading.hdev 使用多线程并行检查剃刀刀片
align_measurements.hdev     使用基于形状的匹配来检查单个剃刀刀片,以为测量工具调整ROI

【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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

cqy阳

预祝上岸,感谢打赏

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

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

打赏作者

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

抵扣说明:

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

余额充值