[Halcon] 测量对 measure_pairs measure_tft_cells.hdev

measure_pairs算子介绍

        Halcon算子measure_pairs是一个重要的图像处理工具,它专门用于提取垂直于矩形或环形弧长轴的直边对。以下是对该算子的详细介绍:

一、功能描述

   measure_pairs算子主要用于在图像中查找并测量垂直于指定矩形或环形弧长轴的直边对。这些边对被分组并基于它们的灰度值过渡类型进行匹配。该算子适用于测量具有相对于背景不同亮度的物体,特别是在需要精确测量边缘对之间距离的场景中。

二、参数说明

measure_pairs算子的参数包括输入参数、输出参数以及控制参数。以下是主要参数的说明:

  • 输入参数

    • Image:输入待检测图片,应为单通道图像(byte/uint2/real)。
    • MeasureHandle:测量对象句柄,由gen_measure_rectangle2等算子生成。
    • Sigma:高斯模糊的Sigma值,用于平滑图像以减少噪声。
    • Thresholdÿ
### Halcon 中电子 IC 管脚测量的方法 在 Halcon 中,针对电子 IC 的管脚测量可以采用基于模板匹配和一维测量的技术来完成。以下是具体实现方式: #### 1. 使用 `gen_measure_rectangle2` 定义测量区域 为了精确测量 IC 芯片的管脚宽度以及是否存在缺失情况,可以通过定义一个矩形测量区域来进行处理。该操作通过 `gen_measure_rectangle2` 实现,用于创建一个旋转矩形内的测量配置[^1]。 ```hdevelop * 创建测量模型 Row := 100 Column := 100 Phi := rad(45) * 设置角度 (弧度制) Height := 200 Width := 300 NumRows := 50 NumColumns := 50 GenMeasureRectangle2 (Image, MeasureHandle, Row, Column, Phi, Height, Width, NumRows, NumColumns) ``` 此代码片段中,`Row` 和 `Column` 表示矩形中心的位置;`Phi` 是矩形的角度;`Height` 和 `Width` 则分别表示高度和宽度;`NumRows` 和 `NumColumns` 控制采样点的数量。 --- #### 2. 提取边缘并生成模糊函数 提取目标对象的边缘特征后,利用模糊逻辑技术进一步增强抗噪能力。这一步骤涉及以下算子: - **`create_funct_1d_pairs`**: 构建一维模糊函数。 - **`set_fuzzy_measure_norm_pair`**: 配置模糊测量参数。 这些工具能够有效减少噪声对测量的影响,并提高精度[^2]。 ```hdevelop * 创建模糊函数 XValues := [-10,-8,...,10] YValues := [0,0.1,...,1] CreateFunct1DArray (XValues, YValues, Function) SetFuzzyMeasureNormPair (Function) * 应用模糊测量 FuzzyMeasurePairs (MeasureHandle, Image, Fuzziness, Transition, Invariance, RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, Error) ``` 在此过程中,`Fuzziness`, `Transition`, 和 `Invariance` 参数决定了如何评估每条边的质量及其可信度。 --- #### 3. 过滤干扰项 当图像背景复杂或者存在其他不相关物体时,可能会影响最终的结果准确性。因此,在实际应用前需考虑加入额外条件筛选掉不符合预期尺寸范围的数据点。例如设定最小/最大允许长度阈值排除异常值[^2]。 --- #### 4. 导出至 C# 一旦完成了 HALCON 内部算法开发流程之后,就可以将其封装成 DLL 文件形式供外部调用。借助 HDevEngine 工具箱可轻松达成这一目的——它支持将整个项目转换为独立库文件以便嵌入到任意 .NET 平台应用程序当中去运行。 ```csharp // 加载HALCON引擎实例化类对象 HDevEngine engine = new HDevEngine(); engine.ExecuteProgram(@"Path\To\YourProcedure.hdev"); // 获取输出变量 HTuple result; result = program.Variables.Output["Result"]; Console.WriteLine(result); ``` 以上展示了基本框架结构示意,更多细节取决于具体业务需求定制调整。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

F-Halcon

浏览即鼓励

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

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

打赏作者

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

抵扣说明:

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

余额充值