一种多类型条码批量识别系统设计

B站影视 2025-01-02 17:52 2

摘要:传统条码识别系统无法满足企业与日俱增的生产管理需求,为此设计了一种能够批量识别且兼容多种类型的条码自动识别系统。首先在Linux开源系统上开发系统软件,实现大华工业相机焦距调节,图像采集等操作;其次利用OpenCV计算机视觉库对采集图像进行滤波、二值化、特征提

摘要:传统条码识别系统无法满足企业与日俱增的生产管理需求,为此设计了一种能够批量识别且兼容多种类型的条码自动识别系统。首先在Linux开源系统上开发系统软件,实现大华工业相机焦距调节,图像采集等操作;其次利用OpenCV计算机视觉库对采集图像进行滤波、二值化、特征提取等图像处理,完成一维或二维条码的定位;最后利用QZING条码识别库解析条码中的产品SN信息,并通过QT上位机软件将SN信息上传至数据库完成生产管理。实验验证系统具有良好的准确性和稳定性。

关键词:条码识别、Linux、图像处理、OpenCV算法、生产管理

作者:顾迎月 祝苏明

顾迎月:苏州信息职业技术学院电气与电子工程系

祝苏明:江苏新安电气股份有限公司

引言

随着工业4.0时代的到来,制造型企业向智能工厂转型升级成为必然趋势。智能工厂的智能仓储、智能物流管理要求产品在原料入库、生产工艺、运输物流——供应链全过程都可视化、可追踪[1],因此要在供应来料、产品部件、生产成品上打印识别码作为物料号进行生产数据信息存储和追溯。而条码自动识别技术能使物料号识别减少人工干预、提高识别效率及准确率、降低制造成本。传统的条码识别采用人工持枪扫描的方式,有兼容性差、准确率低,易漏检、效率低等缺点,难以满足产线满载运行的检码流程要求。

在条码识别术的前期研究中:文献[2]针对QR码图像捕捉中的噪声问题,运用图像预处理与中值滤波算法优化了传统算法。文献[3]基于Halcon条码高速识别算法和XLD边缘检测识别方法构建了兼容一维和二维条码高速在线识别系统,可以识别3.75m/s速度下运行的一维或二维条码。文献[4]提出一种基于不变矩和BP网络结合的条码识别方法,在一维条码中的识别准确率为92.9%。文献[5]采用了几何定位与基于位置探测图形相结合的方法构建了二维码批量识别的系统,在0.296m/s的运行速度下识别率达到100%,但该系统只识别二维码。

本文以条码识别技术为研究对象,通过图像处理技术对采集到的图像进行图像预处理、图像分割、特征提取等。基于Linux开源系统,对工业摄像头调节焦距,利用Opencv计算机视觉库的算法对料号进行识别,再通过上位机QT软件上传料号,更新数据库资料,构建出一种能够兼容条形码、QR二维码,能够批量、准确、稳定、且快速的料号识别系统。该系统能够减少企业人力成本投入,提升产线加工效率,对企业有着普遍的实用价值和较高的经济价值。

系统设计

1.系统硬件框架设计

本文设计的多种条码批量识别系统由工业相机、辅助光源、工控一体机、数据库服务器组成,系统硬件框架如图1所示。工业相机选取大华2000W像素CMOS 工业相机,型号A3B00MG000;工控一体机选用NXP I.MX6ULL型号CPU,Cortex_A7架构,800MHZ主频,512MB内存。辅助灯源选择条形LED光源至于检测区域两侧,提高图像采集清晰度。

系统运行时,贴有条码的产品由传送带输送至工业相机正下方的检测区域,工业相机拍摄照片并传输给工控一体机,由自主开发的多码识别软件读取条码中产品SN信息,同时将数据上传至SQL数据库完成出入库、盘点等生产管理操作。

2.系统软件框架设计

工控一体机是Linux系统架构,在其上调用计算机视觉算法,实现条码识别以及相关功能,系统软件框架图如图2所示。其中QT软件开发平台,用于完成识别结果上位UI显示和相应设置操作;Opencv提供料号识别的开源算法;Linux开源系统为整个软件的运行提供必要的运行环境。

条码批量识别算法

传统的条码识别算法需要进行图像采集、图像处理、边缘检测、特征提取,条码定位等步骤。在本设计中,系统需兼容一维条码与二维码识别,算法流程图如图3所示。

1.图像预处理

条码识别过程中,工业相机采集的原始图像传输至工控一体机后,首先要进行图像预处理。

灰度处理是将彩色原图转换成灰度直方图,即对图像内部每个像素的灰度等级进行统计并表述,使图像的整体灰度分布更加清晰,方便后期处理。本设计采用OpenCV提供的cv2.calcHist函数完成灰度直方图的计算。

灰度直方图均衡化是对灰度直方图进行图像亮度归一化和对比度增强处理。均衡化处理对后期边缘与轮廓检测的效果有较大的提升作用。本文采用cvEqualizeHist函数完成该计算。

图像二值化是将上述灰度图中的每个像素点的灰度值设为0或255,使图像转化为黑白图像,在缩减图像数据量的同时,使条码的轮廓更加凸显。本文采用cvThreshold进行二值化。

2.条码特征提取

边缘检测用于检测图像中灰度值变化迅速的像素点,将这些点连成线条就可以得到图像中物体的边缘。一维条码与二维条码都是由黑白色的条纹或矩形组成,边缘检测可以快速锁定条边缘。本文采用Canny边缘检测算子,具有较高的准确度和稳定性。

轮廓检测是在图像的边缘检测基础上,提取与目标特征吻合的目标轮廓。本设计需兼容一维与二维条码,因此需创建两种不同的轮廓模型。其中一维条码的轮廓检测需对图像进行腐蚀与膨胀,然后查找一维条码的矩形区域轮廓,检测轮廓数量并绘制最小外接矩形框。如数量为0,则检测二维条码轮廓,二维条码的典型特征是用于定位的 “回”型框,再利用minAreaRect函数构建最小的外接矩形框。

定位完成后需解码提取SN信息,本文采用QZXing实现解码。解码完成后与上次解码信息比对,避免重检。

实验测试

1.少量样本静态测试

按照系统设计进行实验平台搭建,如图4所示。首先选取少量条码样本进行识别检测,验证算法正确性。

将2个不同的一维条码贴在PCB板不同位置与不同方向上,将PCB板放置到工业相机检测区域,触发检测流程,检测结果如图5所示。检测耗时13.5ms,提取出的2个SN信息正确率100%。

将4个不同二维码贴在PCB板的不同位置与不同方向上,放置到检测区域进行识别,结果如图6所示。检测耗时24ms,提取出的4个SN信息正确率100%。

2.批量样本动态测试

将实验平台安装至PCBA生产线,进行批量条码检测。产线传送带以不同速度运输,将贴有不同类型条码的PCBA板送至检测区进行识别测试,实验结果如表1所示。当传送带运行速度≤0.4m/s时,一维码、二维码的批量识别准确率可达100%,平均识别时间分别为13.69ms与25.17ms。当传送带运行速度≥0.5m/s时,一维条码与二维码批量识别的准确率不达100%。生产线在生产过程中实际运行速度在0.1m/s~0.3m/s范围内,识别系统准确率满足企业要求。

3.生产管理系统

生产管理系统是基于QT开发的上位机软件,条码检测获得的SN信息可在其可视化界面上显示,并可进行出入库、查询等生产管理操作,同时可以生成数据报表便于直接查看物料状态,上位机界面如图7所示。点击入库或出库按钮,料号、工号、操作时间等数据信息将被上传至SQL数据库,实现入库或出库操作。点击查询按钮可查询该料号产品在数据库内的登记信息,如在架数量、外借次数等,同时生成图表报告,实现生产数据可视化。

总结

本文设计一种能够兼容一维二维条码批量检测系统,通过实验验证,该系统能够实现目标功能,在0.4m/s移动速度范围内,正确率100%,检测耗时20ms左右,能够满足生产线需求,对企业有着普遍的实用价值。

参考文献:

[1]戚卫峰,张宁.自动识别技术在企业物流过程中的应用[J].企业导报,2012.

[2]Xiong Zou,Liu Guodong, et al. Study on the sequence of steps in the QR code image preprocessing[C]// IEEE,2010.

[3]李少波,王铮,杨静,朱书德,全华凤.基于机器视觉的一维和二维条码高速在线识别[J].计算机集成制造系统,2020.

[4]田秋红,孙政荣.基于不变矩和BP网络的条形码图像识别方法[J].计算机工程与设计,2012.[5]LI Jiangang, HUANG Shihao, et al. Identification system for batch of two-dimensional code with high speed based on machine vision[J].Journal of Applied Optics,2021.

———— 物流技术与应用 ————

编辑、排版:喜崇彬

本文内容源自

欢迎文末分享、点赞、在看!转载请联系后台。

广告宣传

来源:百顺科技达人

相关推荐