一种基于图像处理的批量二维码识别方法及系统与流程

摘要: 本发明涉及图像处理与模式识别,尤其涉及一种基于图像处理的批量二维码识别方法及系统。背景技术:1、传统工业环境中,二维码识别主要依赖激光扫码枪或基于光学识别技术的...
一种基于图像处理的批量二维码识别方法及系统与流程

本发明涉及图像处理与模式识别,尤其涉及一种基于图像处理的批量二维码识别方法及系统。

背景技术:

1、传统工业环境中,二维码识别主要依赖激光扫码枪或基于光学识别技术的固定式读码器。其核心工作原理为:扫码枪内部的激光二极管或led光源发射光束照射二维码表面,由于二维码的黑白模块对光线的反射强度存在差异,内置的光电传感器接收反射光信号并将其转换为数字信号,最后由解码器将数字信号解析为可读信息并传输至计算机或其他设备。

2、然而,在实际工业生产、物流追踪等应用场景中,上述基于光学扫描的识别技术面临诸多挑战。一方面,二维码在图像中通常仅占5%至15%的面积,其余为产品包装图案、金属表面纹理或环境阴影等无关背景,传统算法需在全图范围内进行滑动窗口或多尺度金字塔搜索,大量无效像素不仅造成计算资源浪费,更易产生假阳性检测;另一方面,同一图像中常存在多个二维码(如生产码、追溯码或传送带上多产品各自带码),现有技术无法区分各码的归属关系与空间位置,当多个二维码空间接近时可能错误组合模块导致识别失败。此外,工业场景中的二维码普遍存在小尺寸(边长不足50像素)、运动模糊、低光照或非均匀光照、局部破损(划伤、污渍覆盖)以及高光反射(金属或覆膜表面)等质量问题,传统激光扫码枪或常规识别算法对此类场景的识别成功率普遍低于30%,且无法以批量、并行方式高效处理大量图像。

3、因此,如何在大批量、复杂背景、多码共存及图像质量参差不齐的工业场景下,实现高成功率、高效率且自动化的二维码批量识别与数据管理,是本领域亟需解决的问题。

技术实现思路

1、本发明的目的在于提供一种基于图像处理的批量二维码识别方法及系统,解决了现有技术在复杂背景、多码共存及图像质量不佳场景下二维码识别成功率低且无法批量高效处理的问题。

2、为实现上述目的,本发明提供了一种基于图像处理的批量二维码识别方法,包括以下步骤:

3、获取待处理的原始图像;

4、将所述原始图像从bgr色彩空间转换至hsv色彩空间;

5、根据目标二维码的预设颜色设定hsv三通道的上下界阈值,逐像素生成二值掩码,将色相、饱和度、明度均处于所述上下界阈值范围内的像素标记为前景,其余像素标记为背景;

6、对所述二值掩码进行形态学操作,去除噪点并填充空洞;

7、从处理后的二值掩码中提取所有轮廓,按照面积大小进行过滤以排除噪声轮廓,为每个保留的轮廓计算外接矩形和中心点,并为每个轮廓赋予独立编号;

8、根据每个轮廓的所述外接矩形坐标,从所述原始图像中提取对应的感兴趣区域;

9、对每个所述感兴趣区域执行多级图像扩大操作,以预定步长从基准尺寸逐步放大至最大尺寸,生成多个不同尺寸等级的扩大图像;

10、对每张所述扩大图像依次应用多种预定义的图像增强方法,生成增强图像;

11、按预定顺序尝试对每张所述增强图像进行二维码识别,一旦任一条处理路径识别成功,则停止当前轮廓的处理,记录识别结果以及当前路径所对应的扩大倍数与增强方法组合;

12、输出所有轮廓的识别结果。

13、其中,所述形态学操作包括开运算、闭运算、开运算后接闭运算、膨胀、腐蚀中的至少一种操作,所述形态学操作使用的核大小在1至7像素范围内可调。

14、其中,对每个所述感兴趣区域执行多级图像扩大操作时,具体包括:

15、以0.2为步长从1.0倍逐步放大至2.0倍,生成1.0倍、1.2倍、1.4倍、1.6倍、1.8倍、2.0倍共六个尺寸等级的扩大图像,每个尺寸等级的扩大图像采用双三次插值算法进行放大。

16、其中,所述多种预定义的图像增强方法包括直方图均衡化、自适应直方图均衡化、拉普拉斯锐化、非锐化掩模增强、中值滤波、超分辨率重建、同态滤波、形态学顶帽变换中的至少两种方法。

17、其中,按预定顺序尝试对每张所述增强图像进行二维码识别时,具体包括:

18、将所述多级图像扩大操作作为外层循环,将所述多种预定义的图像增强方法作为内层循环,形成扩大倍数与增强方法组合的二维搜索空间,按照扩大倍数由小到大、增强方法按预设顺序依次尝试,直至识别成功或遍历所有组合。

19、其中,按预定顺序尝试对每张所述增强图像进行二维码识别时,具体包括:

20、采用多线程并发架构,为每个线程设置独立的检测器实例存储空间;二维码识别模型仅在首次被任一线程调用时加载一次,加载后的模型实例存储于所述线程局部存储空间中,同一线程后续调用时直接复用已加载的模型实例,不同线程之间共享同一模型实例。

21、其中,输出所有轮廓的识别结果时,具体包括:

22、将识别结果存储至数据库,并且采用连接池复用机制:在批量处理启动时建立一条与数据库的持久连接,整个批量处理期间所有识别结果的插入操作均复用所述持久连接,批量处理完成后统一关闭所述持久连接。

23、其中,将识别结果存储至数据库之前,具体还包括:

24、根据“二维码内容、图片名称、块编号”三个字段组合计算md5哈希值作为唯一标识码,向数据库查询所述唯一标识码是否已存在,仅当所述唯一标识码不存在时执行插入操作。

25、其中,在对每张所述增强图像进行二维码识别之前,具体还包括:

26、将所述增强图像缩放至8像素×8像素尺寸后灰度化,计算灰度哈希值,将所述灰度哈希值与当前处理过程中已生成的增强图像的哈希值集合进行比对,若所述灰度哈希值已存在于所述集合中,则跳过当前增强图像的识别,直接处理下一张增强图像。

27、一种基于图像处理的批量二维码识别系统,包括用户交互层、核心处理层、数据持久化层和文件导出层;

28、所述用户交互层连接所述核心处理层,用于提供图形用户界面,接收用户输入的图像或图像文件夹路径、hsv阈值参数、扩大倍数参数及增强方法选择,并将所述输入传输至所述核心处理层;

29、所述核心处理层分别连接所述数据持久化层和所述文件导出层,用于对接收到的图像执行颜色空间转换、hsv阈值过滤生成二值掩码、形态学操作、轮廓检测并提取感兴趣区域、对感兴趣区域执行多级扩大循环与多种图像增强的组合搜索、以及二维码识别,并输出识别结果;

30、所述数据持久化层,用于将识别结果存储至sql server数据库;

31、所述文件导出层,用于生成标注图片、汇总报告、详细统计文件以及json格式或csv格式的二维码数据导出文件。

32、本发明的一种基于图像处理的批量二维码识别方法及系统,通过将原始图像从bgr色彩空间转换至hsv色彩空间,并依据预设颜色阈值生成二值掩码,结合形态学操作与轮廓检测为每个颜色块赋予独立编号,并提取感兴趣区域,再对每个感兴趣区域执行多级图像扩大操作与多种图像增强方法的二维组合搜索,按顺序尝试识别直至成功,并记录最佳处理路径,同时采用线程局部存储复用二维码识别模型、连接池复用数据库连接、md5哈希去重以及图像哈希去重机制实现批量高效处理。有效解决了现有技术在复杂背景、多码共存及小尺寸、模糊、低光照、破损、高光等图像质量不佳场景下二维码识别成功率低且无法批量高效处理的问题,显著提升了识别成功率与批量处理吞吐量,降低了计算与存储开销,实现了自动化、高鲁棒性的二维码批量识别与数据管理。