首先进行产品的缺陷观察,通过采到的图像中我们可以看到,图像上的引脚焊点存在错位不良,如下图:




深度学习 缺陷检测 开源 缺陷检测算法_LabVIEW


深度学习 缺陷检测 开源 缺陷检测算法_LabVIEW_02


深度学习 缺陷检测 开源 缺陷检测算法_深度学习 缺陷检测 开源_03


深度学习 缺陷检测 开源 缺陷检测算法_引脚_04


根据图片,我们需要利用视觉助手算法将引脚偏移部分筛选出来,实现检测要求。


算法模拟


第一步:确认产品采图是否存在偏移,根据偏移情况,找到共同特征点进行定位坐标系的建立。


深度学习 缺陷检测 开源 缺陷检测算法_c++_05


深度学习 缺陷检测 开源 缺陷检测算法_引脚_06


利用模板匹配进行定位坐标系建立



第二步:利用图像掩膜将所需检测区域与原图分离:


深度学习 缺陷检测 开源 缺陷检测算法_深度学习 缺陷检测 开源_07


图像掩膜


深度学习 缺陷检测 开源 缺陷检测算法_c++_08


ROI可通过按住Shift键鼠标框选的方式进行多个ROI区域设置,这里我们将引脚偏移出来的部分进行框选。效果图如下:


深度学习 缺陷检测 开源 缺陷检测算法_LabVIEW_09


第三步:将掩膜区域二值化使用引脚与检测区域的灰度差设置二值参数,并利用颗粒滤波将干扰部分去除,添加颗粒分析算法检测二值目标,实现检测效果如图:


深度学习 缺陷检测 开源 缺陷检测算法_c++_10


深度学习 缺陷检测 开源 缺陷检测算法_引脚_11


深度学习 缺陷检测 开源 缺陷检测算法_LabVIEW_12


深度学习 缺陷检测 开源 缺陷检测算法_深度学习 缺陷检测 开源_13


深度学习 缺陷检测 开源 缺陷检测算法_深度学习 缺陷检测 开源_14


深度学习 缺陷检测 开源 缺陷检测算法_LabVIEW_15


最后可通过图像运算将图像进行加减得到如下图的显示效果,偏移引脚呈现黑色部分


深度学习 缺陷检测 开源 缺陷检测算法_引脚_16


深度学习 缺陷检测 开源 缺陷检测算法_深度学习 缺陷检测 开源_17


LabVIEW广泛应用于自动化测控领域,如果你需要快速利用编程来实现数据采集,数据分析,仪表控制,自动化报表,plc通讯,机械手控制,图像采集,机器视觉外观检测,运动控制等方面,又没有代码编程基础(c++,c#,vb等编程语言),那么推荐你学习LabVIEW,这是你最快进入自动化行业的一种途径。