4 系统软件设计
4.1 模块划分
系统软件分为三大模块:系统管理与用户界面模块、瓶口处理模块(瓶底处理模块)、机器控制与双机通讯模块。系统管理与用户界面模块的功能主要是完成生产数据的管理、系统各模块之间的协调以及系统设置参数的输入与存储。瓶口处理模块(瓶底处理模块)是系统的核心,完成图像的采集、处理、污点与破损的判断,以及剔除信号的发送工作。由于处理方法的不同。瓶口处理模块应在瓶口处理机上运行,而瓶底处理模块则只可在瓶底处理机上运行。
机器控制与双机通讯模块完成对机器启停、速度控制、故障诊断以及双机之间的通讯功能。
4.2 软件系统结构
为了实现以上3个模块同步协调工作,系统开辟了3个线程。其中主线程完成系统管理与用户界面功能,两个辅助线程分别完成瓶底(瓶口)处理功能和机器控制与双机通讯功能。三个线程之间通过全局变量完成通讯工作。通过事件进行线程之间的同步工作。
4.3 瓶口与瓶底处理模块的实现
由于该系统对处理速度的要求较高,一般的图像处理方法并不适合。我们采用了简单二值化与统计方法很好地解决了该问题。
在瓶口检测方面,我们通过特殊成像装置,使闪光灯光线照射到瓶口密封面上并返回摄像机。一个完好的平面反射光线应为完整且光滑的圆环,若有破损,则圆环断裂(贯通破损)或圆环出现内凹(内沿破损)或圆环出现外凸(外沿破损),用户可以通过设定三个极限值来定义断裂、内凹、外凸的大小。系统通过将实际断裂、内凹、外凸的大小与设定值进行比较以决定是否剔除。为了避免由于瓶子本向倾斜而造成的误判,该模块通过一定方法实现了对瓶口位置自动进行跟踪的功能。
在瓶底检测方面,首先对图像采集卡得到的灰度图像进行二值化,然后通过统计方法,对各个独立污点计算其大小,将得到的污点大小值与用户设定允许污点大小值进行比较,以决定是否剔除。
5 结束语
系统很好地解决了空啤酒瓶在线检测问题,且价格较底,很好地满足了大多数中小啤酒生产厂家的需要,取得了较好的经济效益。另外,该系统的开发成功对其它饮料瓶在线检测系统的研制也有很好的参考价值。