• 【一】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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    【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算子汇总


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

  • 相关阅读:
    Java并发 | 22.[方法] 调用wait( )和notify( )的正确姿势
    java实现克里金插值导出geojson矢量数据(kriging)
    基于 selenium 实现网站图片采集
    【Day04_0421】C语言选择题
    Linux--进程控制(1)
    iOS-iOS在h5中判断手机是否装了app
    Spring Task使用介绍
    国内数字藏品的乱象与未来
    js/axios/umi-request 根据后端返回的二进制流下载文件
    10 种常见的BUG分类
  • 原文地址:https://blog.csdn.net/qq_41225961/article/details/126786627