APP下载

基于OpenCV的视觉检测系统应用

2024-01-11张代伟

机电信息 2024年1期
关键词:包装箱滤纸按钮

张代伟

(达拉斯(青岛)特种吸附剂有限公司,山东 青岛 266717)

0 引言

目前,各大视觉厂商已经开发了大量用于视觉检测的成套软件,比如康耐视的VisionPro、海康威视的VisionMaster等,这些商业软件虽然功能强大,但价格不菲,而且实际应用中仅需要其中一个或几个检测方法,其他大部分功能是不需要的,软件运行时检测耗时也较长。

OpenCV是一个基于Apache 2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它属轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

如果使用OpenCV针对某个应用场合开发出特定的软件用于视觉检测,那将节省不少成本,并且应用设计更灵活,不必受限于商业软件的功能框架,检测时间也会较短。

1 总体控制流程

笔者近期完成了一个项目,应用场景为:某包装车间纸箱内需要放置一袋滤纸和其他产品,包装工有时会忘记将滤纸放进包装箱,为了保证每箱都放滤纸,要求检测滤纸已放入纸箱,否则传送带不运行,不能进行接下来的操作流程。

经过多种检测方案比较,最终选用视觉检测。在滤纸包装袋上印刷绿色色条,用视觉镜头检测颜色,检测到目标区域(纸箱区域)有绿色且超过一定面积,即认为滤纸已放入包装箱,下游传送带启动,流程继续进行;否则报警并停运下游传送带。

下面是具体实施过程:如图1所示,上位机程序运行在PC端,主要连接相机采集图像,并进行目标视觉识别,当滤纸色条出现在目标区域并达到一定面积后给PLC输出OK信号,并存储一张照片到指定文件夹以备后期查询,否则一直采集图像进行识别。

图1 总体控制流程

PLC接收到OK指令后启动传送带,点亮绿色指示灯。

2 具体实现

2.1 上位机视觉检测软件编程

1)安装VS2015,安装OpenCV3.4。

2)配置OpenCV运行环境,这一步一定要配置完善,否则调试总是报错。

具体配置方法如下:计算机→(右键)属性→高级系统设置→高级(标签)→环境变量→(双击)path(用户,系统里面的path任选其一)→在变量值里面添加相应的路径。

对于32位系统,就添加:“……opencvuildx86vc14in”;而对于64位系统,可以两个都添加:“……opencvuildx86vc14in”和“……opencvuildx64vc14in”。

这样就可以在编译器Win32和X64中来回切换,游刃有余。

注:变量值实际为bin文件夹的路径;D表示OpenCV安装于D盘;X64表示运行系统环境为64位系统,若安装于32位系统,应为X86;vc14表示编译环境为Microsoft Visual Studio 2015;变量添加完成后需要注销系统,才会生效。3)人机界面设计如图2所示。

图2 人机界面

4)图像采集及颜色识别[1]。点选图像上绿色区域作为识别标准,点击Calculate按钮保存相应颜色数据,同时将相关参数保存.txt文件到电脑硬盘,设置面积阈值数据,新图像经颜色计算后与标准值比较,达到目标值则给PLC输出OK信号,并保存一张照片至指定文件夹,便于以后查询是否缺失。

5)与PLC通信。采用485Modbus与ModiconTM200C PLC通信[2],PC端配置一个485转USB的转换器。

2.2 下位机PLC控制系统

PLC接线图如图3所示。

图3 PLC接线图

3 操作流程

1)双击打开DZ.EXE软件(一般不需要,因为该程序会随机自动启动,软件界面会自动隐藏,防止操作工误操作),同时按住键盘上的左箭头和右箭头可以调出程序主界面。

2)软件运行后会自动打开摄像头并读入之前存储的参数及标准参考图片进行识别计算,并输出OK或NG信号。

3)若首次运行或需要更改检测目标,则遵循如下程序:

(1)将包装箱放到目标区域,放上色条滤纸,选择PLC通信端口默认COM7,此时通信数据会有变化。

(2)点击7 Select Area按钮,在弹出的窗口图像上框选需要检测的目标区域,完成后关闭该窗口,则主画面中的图框2将会显示刚才选择的目标区域。

(3)点击14 GetRGB按钮,在弹出的画面点选目标颜色(色条),图框2中就会将所选颜色显示成蓝色,此时可以通过17文本框修改RGB允许误差范围,从而选择合适的颜色区域;然后关闭该弹出窗口。

(4)点击18 Calculate按钮,计算参考图片的RGB像素点数,并保存参数。此时可以拿出放入滤纸,同时调整像素点数误差范围值21,以满足检测可靠性;然后放入滤纸再次点击18 Calculate按钮,保存参数。这样下次重启时会自动载入参数和标准参考图片,不影响检测。

(5)此时,系统就可以正常运行了。三色塔灯开始按逻辑指示:若PLC通信故障,红灯亮;若放上包装箱但并未放滤纸,则黄灯闪烁,等待放滤纸;若放上滤纸,则绿灯亮,封箱机运行。箱子离开封箱位置后15 s,或者箱子离开封箱机2 s后绿灯灭,封箱机停,进入下个循环。

(6)滤纸检测OK的,系统会拍一张此时的照片存到上述指定路径,如图4所示。

图4 保存的照片

4 结论

1)该系统硬件易于实现且成本较低,使用普通的USB摄像头即可。

2)该系统上位机颜色识别速度很快,约16 ms,而商业软件开发的同类应用(如海康威视的VisionMaster)需要至少50 ms。

3)该系统前期软件开发耗时长,但总体成本很低,约是采用成套商业软硬件开发成本的10%,有很大的成本优势。

4)由于使用的是USB摄像头以及USB转485,受限于USB口的可靠性,使用时偶尔会出现死机现象,如果可靠性要求高的话,可以选择更可靠的摄像头及接线485模块。

猜你喜欢

包装箱滤纸按钮
哪个是门铃真正的按钮
包装箱上的“看图说话”
当你面前有个按钮
基于应力—强度模型某包装箱结构强度分析
5亿个塑料袋、1.9亿个包装箱,怎么办 陕西求解快递行业绿色转型
多层包装箱冲击缓冲效应数值分析
死循环
浅析滤纸的匀度对滤芯过滤性能的影响
内心不能碰的按钮
高抗水水性丙烯酸酯乳液的合成、表征及其在工业滤纸中的应用