一、项目开发背景与趋势
在香烟卷包机组的生产效率逐步提高的前提下,对工艺质量的控制难度越来越大,外观检测技术含量不断提高,图像处理算法多种多样,对现场电气人员和技术人员是不小的挑战。而外观检测的效果,取决于图像处理算法的正确选取和各种参数的准确性。因此,本文对图像处理技术做详细分析,希望对技术人员的应用提供帮助。
二、硬件系统分析
图像处理技术的前提是“图像”,尽量保证图像的清晰和待识别内容明确是图像处理硬件系统需要解决的问题。在卷烟行业中,主要涉及的是相机与光源的选取问题。
1 相机的选用
相机这里主要应用黑白与彩色相机。
(a)小盒外观检测使用彩色相机对烟包进行检测,该方法检测精度高,对硬件处理速度要求高。(b)条烟外观检测与缺条成像检测采用黑白相机,关注的是灰度上明显的差别,该方法检测内容精度低,对硬件处理速度要求低。
2 曝光光源的选用
光源主要分单色光和白光,这里均有应用。包装带玻璃纸的地方使用单色光较好。
三、软件算法分析
1 图像处理算法概述
图像处理是用计算机对图像进行分析,以达到所需结果的技术,而进行图像分析所使用的工具就是图像处理算法,这些算法包括基本算法,类似的有二值化、灰度图像、边缘查找等,也有高级算法,像神经网络算法等。
2 应用到行业内的图像处理过程
卷包过程应用的检测大体的处理流程:首先,图片预处理。得到灰度图片,采用RGB转灰度算法,得到灰度图;其次,算法处理及分析,灰度图上按用户检测设置定位监测范围,选择处理算法。主要用到二值化、边缘检测、平滑、去噪声、模板匹配等图像处理算法,再配合统计分析;最后,与目标值结果比对,根据检测参数的设置进行检测结果判断,包括灰度平均值、偏差,边缘检测重量与长度,模板匹配相似度,以及其他偏差值,将不合格产品剔除或者报警。
四、成像检测参数调整方法
缺条成像检测的调整原理是在检测图像上设置矩形框,对矩形框内的图像进行阈值X的二值化处理,将处理结果中联通暗区的面积值与设定值Y对比,超出界限则报警。X值与Y值的选择是手动设置,这个值很关键,如果不能设定合适的值,则检测不到缺条或者误检过多。因此,我们做以下分析。
1 确定阈值X
为了找到合适的阈值,在MATLAB中我们对图像首先进行灰度直方图的分析。
i=imread(‘E:\test1.bmp’);
j=rgb2gray(i);
figure();imshow(j);%原图的灰度图
figure();imhist(j);%灰度分布直方图
区域A的高分布来源于暗色的空隙,区域C的高分布来源于烟条的亮色反光,而区域B的过渡区是介于亮色与暗色之间过渡区域,我们的阈值X就设置在区域B,大致范围60~140.
继续在MATLAB中进行分析通过分析,图片绝大部分阈值应该定义在150左右,而两个角落最好定义在80~110的某一个值(需要多次实验),这样的分析结果较接近我们想要得到的结果。
经过多次实验,最终确定:
Level=60/255=0.235阈值60.
2 现场处理方法
根据这个原理,在生产现场我们应该通过以下方法确定阈值:(a)画一个较大的检测框,包含正常烟条、设备暗区、烟条正常缝隙;从大到小改变阈值进行测试,这里得出阈值为60左右较为合适。(b)确定暗区面积范围Y,在上述实验中,由于图片中有不同程度的暗区,这些暗区不代表缺条,而且面积较小。在实际中,暗区大小需要用添加面积约束(约束范围内报警,默认3500~100000)。(c)根据实际经验,我们找到确定面积的标准调整方法:绘制检测框,不用故意避免缝隙,尽量让检测框之间没有缝隙,测试找到合适阈值X;将检测框检测阈值设为255,处理后得到检测框的设定面积值Y1;将检测框检测阈值设定为之前调整好的阈值X,处理后得到检测框内的暗区面积值Y2;根据Y1,Y2的值针对空隙晃动情况,设置一个大于Y2的面积范围下限Y(根据经验,经常设置为Y1的1/6到1/4范围)。
结语
不同的烟条,甚至不同灯光下阈值不同,这样默认的40阈值对调整检测参数来说意义不大,没有自动的调整方法或者专业人员前提下参数较难确定,导致检测效率不高,而通过上述方法可以找到相对准确的阈值。同时需要根据每个检测框内可能出现的缝隙或者暗点添加面积约束条件,默认1500的起始面积可能造成误检和漏检,需要根据检测框的面积重新确定。
参考文献
[1] 张德丰 . 数字图像处理(MATLAB 版)[M]. 北京:机械工业出版社,2012.