halcon - 缺陷检测的示例代码解析

以下一系列的文章都是使用halcon,进行缺陷检测。此次缺陷检测的应用范围,包括PCB线路板线路的缺陷检测、工件表面光滑度缺陷检测、饼干是否完整的缺陷检测、网格表面网孔是否完整的缺陷检测、药片包装背面的缺陷检测、皮革表面纹理的缺陷检测。

 

1. 检测-PCB板线路:

2. 检测-工件毛刺:

3. 检测-饼干完整度的检测:

4. 检测-批量检查边缘缺陷:

5. 检测-光度立体法检测药片包装背面的缺陷:

6. 检测-网孔是否正常的检测:

7. 检测-纹理表面凸起、凹痕、划痕缺陷的检测:

因为有网友反馈,之前的链接全部失效,因此去掉失效链接,将文章分篇到了blog中。

更多halcon代码解析的文章,请关注公众号:

 

### Halcon 脏污缺陷检测 示例代码与算法实现 在工业视觉领域,Halcon 是一种功能强大且灵活的机器视觉工具,能够高效解决各种复杂的图像处理任务。针对脏污缺陷检测的需求,可以通过以下方式构建解决方案。 #### 1. **基于阈值分割的简单方案** 如果脏污缺陷具有明显的灰度差异,则可以直接采用阈值分割来定位缺陷区域。以下是具体代码示例: ```hdevelop * 加载原始图像 read_image (Image, 'path_to_your_image') * 计算直方图并找到峰值灰度 gray_histo (Image, Image, AbsoluteHisto, RelativeHisto) PeakGray := sort_index(AbsoluteHisto)[255] * 设置阈值范围进行二值化 threshold (Image, Region, PeakGray - ThresholdValue, PeakGray + ThresholdValue) * 进一步优化形态学操作去除噪声 closing_circle (Region, RegionClosed, Radius) connection (RegionClosed, ConnectedRegions) select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', MinArea, MaxArea) * 显示结果 dev_display (SelectedRegions) ``` 上述代码通过计算图像的直方图分布[^2],选取合适的阈值范围完成初步分割,并结合形态学闭运算消除小面积干扰项[^4]。 --- #### 2. **傅里叶变换增强对比度** 当脏污缺陷较为微弱时,传统方法可能无法有效区分背景与目标区域。此时可引入频域分析技术——傅里叶变换,提升局部纹理特征的可见性[^3]。 下面是具体的实现流程: ```hdevelop * 加载待测图像 read_image (Image, 'path_to_dirty_sample') * 执行快速傅里叶变换至频率空间 fft_generic (Image, ImageFFT, 'to_freq', 'complex', 'nonsymmetric', '', 0, 0) * 应用高通滤波器突出高频分量 gen_highpass (Filter, 'gauss', Width, Height, SigmaHigh, SigmaLow) convol_fft (ImageFFT, Filter, ImageFiltered) * 返回实数空间查看效果 fft_generic (ImageFiltered, ImageEnhanced, 'from_freq', 'real', 'nonsymmetric', '', 0, 0) * 后续继续执行阈值分割或其他分类逻辑... threshold (ImageEnhanced, RegionDefects, LowerThreshold, UpperThreshold) ``` 此过程先将原图转换到频谱表示形式,在其中施加特定类型的带通/低通滤镜后再逆向还原回实际像素平面[^3]。最终得到强化后的潜在瑕疵位置供后续验证确认。 --- #### 3. **无监督学习模型集成** 除了纯手工设计规则外,还可以考虑借助深度神经网络自动挖掘隐藏模式的能力来进行更鲁棒性的判断。例如自编码器架构下的重构误差评估机制便非常适合此类场景应用[^1]。 主要思路如下所示: - 使用大量未标注的标准品作为训练集让AE学会重建干净表面的样子; - 对测试样本预测其对应版本并与真实情况做差值得出残差映射; - 将超出设定容忍限度的部分判定为异常即所谓“缺陷”。 虽然这里并未给出确切源码片段但由于涉及第三方库调用所以建议查阅官方文档获取更多细节说明[^1]。 --- ### 总结 以上分别介绍了三种不同层次复杂程度各异的技术路线用于应对不同程度需求下关于如何运用 HALCON 平台达成肮脏痕迹探测目的问题解答。每种都有各自优缺点需根据实际情况权衡选用最恰当的一种实施部署工作当中去实践检验成果价值所在之处何在何处体现出来最为明显显著等方面因素综合考量决定取舍方向即可获得满意成效表现优异的结果呈现给大家共同分享交流经验心得收获满满乐趣无穷尽也!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值