机器视觉检测visionpro算法写的点胶胶路断胶检测,很具有实用性,做相关点胶设备检测的伙伴可以借鉴学习。 是QuickBuild格式的vpp不是block,仅提供vpp和样本图片,版本9.0。

在工业视觉检测中,点胶胶路的连续性检测直接影响产品良率。最近用VisionPro 9.0的QuickBuild方案落地了一套断胶检测系统,实测误判率控制在0.3%以内。这里分享几个核心实现逻辑,搞自动化检测的老铁可以直接抄作业。

先说硬件配置:500万像素工业相机配环形光源,胶路宽度0.8mm。重点在于算法要适应胶路的反光特性——这里用CogPMAlignTool打头阵定位基准点,再用CogBlobTool抓取胶路区域。注意把Blob的极性参数设为亮找暗,面积阈值根据实际胶宽动态计算:

CogBlob.SegmentationParams.Mode = CogBlobSegmentationMode.HardFixedThreshold
CogBlob.SegmentationParams.Polarity = CogBlobSegmentationPolarity.DarkBlobs
Dim areaThreshold As Integer = CInt(imageWidth * 0.15) '胶路宽度占图像宽度15%

断胶判断是重头戏。传统方案用投影法容易受噪点干扰,这里改用CogCaliperTool做边缘间距检测。核心在于设置合适的搜索方向和边缘极性:

CogCaliper.EdgeMode = CogCaliperEdgeModeConstants.SingleEdge
CogCaliper.Edge0Polarity = CogCaliperEdgePolarityConstants.DarkToLight
CogCaliper.ContrastThreshold = 15 '根据实际胶路对比度调整

当连续三个Caliper检测点间距超过胶路标准宽度+公差值时触发断胶报警。这里有个坑要注意:必须排除胶路转弯处的误判,通过设置ROI跟随胶路走向动态旋转解决。

最后上点实测数据:系统能在50ms内完成单帧检测,对于0.5mm以上的断胶缺口100%捕获。部署时记得做光照补偿——在vpp里挂载CogHistogramTool实时监控灰度分布,动态调整曝光时间:

If CogHistogramTool.MeanValue < 80 Then
    CameraControl.SetExposure(currentExposure * 1.2)
End If

整套方案已经封装成vpp工程,用QuickBuild的优势在于参数调试不用重新编译。需要测试的老铁可以直接导入vpp文件,注意样本图片的存放路径要和工程配置一致。遇到胶路分叉或飞溅胶的情况,建议在CogBlob里加形态学开运算过滤噪点。

(项目代码和测试数据已脱敏,需要实操的兄弟评论区留邮箱。下期讲怎么用CogCNLPatMax处理曲面胶路检测,想蹲的扣1)

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐