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

news/2025/1/11 23:51:54/

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

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

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

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


文章目录

  • 学习目标
  • 学习内容
    • 1、meature_pairs()
      • Halcon例程
  • 【1D测量 Measuring部分】 待更新算子
  • 汇总

学习目标

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


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


http://www.ppmy.cn/news/149121.html

相关文章

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

😊😊😊欢迎来到本博客😊😊😊 🌟🌟🌟 Halcon算子太多,学习查找都没有系统的学习查找路径,本专栏主要分享Halcon各类算子含义及用法,有…

基于卡尔曼滤波实现线性目标跟踪

文章目录 前言卡尔曼滤波基本推导运算 实现目标检测卡尔曼预测器ID分配器(跟踪器) 完整代码代码总结 前言 一个需求,在一个稳定的场景当中,实现目标检测计数算法。 任务点: 实现目标检测完成对不同类别的物品进行计数…

用于函数优化的一维 (1D) 测试函数

【翻译自 : One-Dimensional (1D) Test Functions for Function Optimization】 【说明:Jason Brownlee PhD大神的文章个人很喜欢,所以闲暇时间里会做一点翻译和学习实践的工作,这里是相应工作的实践记录,希望能帮到有…

数据结构—链表的相关理论点

链表(linked list)是一种常见的数据结构,用于实现电脑的动态内存分配。链表通过指针相互连接节点(Node),而该节点内保存了数据。 链表通常由头节点(head)和尾节点&#xff0…

vue 单点登录的方法

vue 单点登录的方法 当我们在使用 vue开发项目时,一般都是只有一个用户帐号,如果要实现多个帐号的单点登录,可以使用 Session和 LocalStorage这两个技术。这两个技术在实现单点登录时,都需要有一个用户名和一个密码,而…

【Web服务器集群】基于Nginx搭建LNMP架构

文章目录 一、安装 MySQL 数据库1. 安装Mysql环境依赖包2. 创建运行用户3. 编译安装4. 修改mysql 配置文件5. 更改mysql安装目录和配置文件的属主属组6. 设置路径环境变量7. 初始化数据库8. 添加mysqld系统服务9. 修改mysql 的登录密码10. 授权远程登录 二、编译安装 nginx 服务…

Nginx-Host绕过复现

目录 环境搭建: 第一种处理方式 第二种处理方式 第三种处理方式 原理依据:Nginx与PHP对Host处理方式不同 环境搭建: 1、提前安装完成nginxphpmysql,然后上传文件pwnhub到nginx/html下 2、修改nginx.conf配置文件&#xff1…

信息安全导论

信息安全导论1 计算机安全的特点 没有绝对的安全安全是一个动态实践的过程人是安全机制中最薄弱的环节 计算机安全的属性 Confidentiality 对信息或资源的内容或存在性的隐藏,使得信息不被授权或访问。Integrity数据在网络传输过程中,没有被第三方非…