正运动机器视觉应用例程 | 检测面饼有无异物

2025-04-20 08:34:39

我们将和大家一起分享如何实现检测面饼有无异物的功能。

工具/原料

windows10

ZDevelopV3.10.09

运动控制器VPLC516E

检测原理

1、检测当前放置的面饼表面是否存在异物,如果表面存在异物,那么样品则为NG,以此来判定面饼的检测结果。

正运动机器视觉应用例程 | 检测面饼有无异物

2、先将图片进行二值化处理,其次在矩形检测区域内进行B雉搽妤粲LOB分析,计算黑色连通区域的面积(像素数量),再对区域列表中的黑色连通区域面积进行过滤。接着获取区域列漉胜衲仰表中符合条件的异物数量,并计算当前检测到的异物面积显示出来,最后通过判定异物数量是否大于0,以此来判定检测结果。如果异物数量小于0,那么当前检测结果为OK,否则为NG。

正运动机器视觉应用例程 | 检测面饼有无异物

软件实现

1、打开ZDevelop软件:新建名称为“e垓矗梅吒xistDetect.zpj”项目→新建“HMI”文件→新建“main.bas”文件(用于编写界面响应函数像粜杵泳)→新建“global_variable.bas”文件(用于存放全局变量并开启HMI自动运行任务)→新建“detectParam.bas”文件(用于初始化测量参数)→新建“draw.bas”文件(用于更新绘制ROI数据)→新建“camera.bas”文件(用于实现相机采集功能)→文件添加到项目。

正运动机器视觉应用例程 | 检测面饼有无异物

2、设计HMI界面。

正运动机器视觉应用例程 | 检测面饼有无异物

3、关联HMI界面控件变量。

正运动机器视觉应用例程 | 检测面饼有无异物

4、本期课程的代码实现的功能主要使用到的指令是二值化、差集运算、计算连通区域、过滤面积的指令。ZV_RETHRESH(参数1:输入图像,焊剑杂锭参数2:掩膜区域,含结束符,参数3:二值化得到的区域,输出参数,参数4:设置低阈值范围,参数5:设置高阈值范围)ZV_REDIFF(参数1:区域1,参数2:区域2,参数3:计算的区域1和区域2的差集)ZV_RECONNECT(参数1:输入区域,参数2:列表,输出参数)ZV_REFILTER(参数1:待过滤的区域列表,参数2:区域特征类型,参数3:特征值的下限,参数4:特征值的上限,参数5:是否反向选择)

操作演示

1、查看运行效果:将项目下载到控制器中→使用本地图片→单次采集→设置最小面积为2000→设置最大面积为10000→点击测试(查看当前样品检测结果)→点击运行(查看连续运行效果)→结束。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢