【C# + HALCON 机器视觉】HALCON经典算子:圆形膨胀(dilation_circle)与圆形腐蚀(erosion_circle)

摘要:本文聚焦 C# 与 HALCON 在机器视觉领域的应用,深入阐述圆形膨胀(dilation_circle)与圆形腐蚀(erosion_circle)算子原理,以 PCB 焊点缺陷检测为案例,展示对二值化图像进行膨胀填补断裂、腐蚀去除毛刺,结合 connection 算子分割粘连区域并统计缺陷数量的过程。同时介绍通过 Modbus 协议实现 C# 与 PLC 联动分拣 NG 品,以及性能优化、异常处理和跨平台集成的方法,为相关领域实践提供参考。


在这里插入图片描述

文章目录

  • 【C# + HALCON 机器视觉】HALCON经典算子:圆形膨胀(dilation_circle)与圆形腐蚀(erosion_circle)
    • 一、引言
    • 二、圆形膨胀(dilation_circle)与圆形腐蚀(erosion_circle)算子原理
      • 2.1 形态学操作基础
      • 2.2 圆形膨胀(dilation_circle)
      • 2.3 圆形腐蚀(erosion_circle)
      • 2.4 圆形膨胀与圆形腐蚀的关系
    • 三、应用场景:PCB焊点缺陷检测
      • 3.1 PCB焊点缺陷类型
      • 3.2 圆形膨胀与圆形腐蚀在PCB焊点缺陷检测中的应用
    • 四、案例:连接断裂焊点或消除微小噪声
      • 4.1 案例需求分析
      • 4.2 实操流程
        • 4.2.1 环境准备
        • 4.2.2 代码实现
        • 4.2.3 代码解释
        • 4.2.4 执行结果展示
      • 4.3 性能优化
      • 4.4 异常处理
    • 五、C#集成:通过Modbus协议与PLC联动,触发NG品分拣
      • 5.1 Modbus协议简介
      • 5.2 实操流程
        • 5.2.1 环境准备
        • 5.2.2 代码实现
        • 5.2.3 代码解释
      • 5.3 跨平台集成
        • 5.3.1 Halcon导出C#代码
        • 5.3.2 与ROS对接
        • 5.3.3 与PLC对接
    • 六、总结与展望


【C# + HALCON 机器视觉】HALCON经典算子:圆形膨胀(dilation_circle)与圆形腐蚀(erosion_circle)

关键词:C#;HALCON;圆形膨胀;圆形腐蚀;PCB 焊点检测;Modbus 协议;机器视觉

一、引言

在现代工业制造领域,机器视觉技术发挥着至关重要的作用,特别是在产品质量检测方面。PCB(Printed Circuit Board,印刷电路板)作为电子设备的核心部件,其质量直接影响着电子设备的性能和稳定性。因此,对PCB焊点进行高效、准确的缺陷检测显得尤为重要。

HALCON作为一款功能强大的机器视觉软件库,提供了丰富的图像处理算子,能够满足各种复杂的视觉检测需求。其中,圆形膨胀(dilation_circle)和圆形腐蚀(erosion_circle)是两个经典的形态学操作算子,在PCB焊点缺陷检测中有着广泛的应用。

本文将详细介绍圆形膨胀和圆形腐蚀算子的原理、应用场景,并结合实际案例,展示如何使用C#集成HALCON来实现PCB焊点缺陷检测,同时给出性能优化、异常处理和跨平台集成的相关建议和实现方法。

二、圆形膨胀(dilation_circle)与圆形腐蚀(erosion_circle)算子原理

2.1 形态学操作基础

形态学操作是基于图像的形状进行的处理,主要用于图像的预处理、分割、特征提取等方面。形态学操作的基本思想是用一个结构元素(通常是一个小的二值图像)对输入图像进行遍历,根据结构元素与输入图像的相对位置关系来改变图像的像素值。

2.2 圆形膨胀(dilation_circle)

圆形膨胀是一种形态学膨胀操作,其作用是将图像中的物体边界向外扩展。在圆形膨胀操作中,使用一个圆形的结构元素对输入图像进行遍历,当结构元素与输入图像的某个像素位置重叠时,如果结构元素覆盖的区域内至少有一个像素值为前景(通常为白色),则将该像素位置的像素值设置为前景。

圆形膨胀的数学定义如下:
设输入图像为 A A A,结构元素为 B B B,圆形膨胀操作可以表示为 A ⊕ B A \oplus B AB,其中:
( A ⊕ B ) ( x , y ) = max ⁡ ( i , j ) ∈ B { A ( x − i , y − j ) } (A \oplus B)(x,y) = \max_{(i,j) \in B} \{ A(x - i, y - j) \} (AB)(x,y)=(i,j)Bmax{ A(xi,yj)}

圆形膨胀的主要作用包括:

  • 填补物体内部的小孔和断裂区域。
  • 连接相邻的物体。
  • 增大物体的面积和尺寸。

2.3 圆形腐蚀(erosion_circle)

圆形腐蚀是一种形态学腐蚀操作,其作用是将图像中的物体边界向内收缩。在圆形腐蚀操作中,使用一个圆形的结构元素对输入图像进行遍历,当结构元素与输入图像的某个像素位置重叠时,如果结构元素覆盖的区域内所有像素值都为前景(通常为白色),则将该像素位置的像素值设置为前景,否则设置为背景(通常为黑色)。

圆形腐蚀的数学定义如下:
设输入图像为 A A A,结构元素为 B B B,圆形腐蚀操作可以表示为 A ⊖ B A \ominus B AB,其中:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AI_DL_CODE

您的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值