上期课程,我们讲述了在机器视觉方案中自动识别工件缺口方向的应用案例,本期课程我们将和大家一起分享如何去实现焊锡锡量和引脚间距检测的功能。
01
(一)检测需求
2.检测两根引脚之间的间距。
3.界面显示引脚间距数据并统计焊锡合格的样品数量,执行机构根据输出的检测结果来执行下一步动作。
(二)软件算法
1.先将图片二值化,计算白色连通区域,遍历每个白色连通区域面积,将合格的焊锡面积作为锡量OK基准,过滤掉不合格的面积,最后计算过滤后的数量是否为实际焊锡数量。
如果数量相同且引脚间距符合标准范围,则输出合格信号并在界面上绘制合格区域,否则输出NG信号并将所有面积重置为-1。
2.检测引脚间距须要用到直线测量器,但是因目标样品位置是随动的,所以需要先经过BLOB分析筛选出引脚区域。
然后遍历所有引脚区域,外接一个最小旋转矩形,得到旋转矩形的中心点,作为测量器位置跟随的基准点来创建变换矩阵,经过测量区域补正来跟随长引脚位置进行直线测量,间距测量。
1.打开ZDevelop软件:新建名称为“焊锡锡量和引脚间距检测.zpj”项目→新建“HMI”文件→新建“main.bas”文件(用于开启HMI自动运行任务,以及用于界面响应函数)→新建“global_variable.bas”文件(用于定义全局变量以及初始化相关参数)→文件添加到项目。
2.设计HMI主界面。
3.关联HMI主界面的控件变量。
4.关联blob参数设置界面的控件变量。
5.关联弹跳出报警提示信息界面的控件变量。
6.本期课程的代码实现的功能主要使用到的指令是基于形态学的BLOB分析、区域特征运算、测量器的ROI位置补正后再进行测量等相关指令。
(1)二值化
ZV_RETHRESH(参数1:输入图像,参数2:掩膜区域,参数3:二值化得到的区域,输出参数,参数4:设置低阈值,参数5:设置高阈值)
ZV_GETRIGIDVECTOR(参数1:ZVOBJECT类型,矩阵类型,计算的刚性变换矩阵。参数2:变换前向量的x坐标。参数3:变换前向量的y坐标。参数4:变换前向量1的方向。参数5:变换后向量2的x坐标。参数6:变换后向量2的y坐标。参数7:变换后向量2的方向)
ZV_MRGENLINE(参数1:输入测量区域,参数2:补正的变换矩阵。参数3:变换后的测量区域)
ZV_MRLINE(参数1:直线测量区域,参数2:测量的目标图像。参数3:测量的结果点,矩阵类型,每行一个点。参数4:TABLE索引,依次为x1、y1、x2、y2,即直线端点坐标)
(一)操作步骤
查看运行效果:将项目下载到控制器中→点击采集图像→点击blob参数(设置blob分析时的输入参数)→点击锡量检测(检测焊锡的锡量)→点击检测间距(进行引脚间距测量)→点击单次运行(查看当前样品检测结果)→点击运行(查看连续运行效果)→结束。
更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师:400-089-8936。
本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。