首页 / 专利库 / 图形技术 / 图像对比度 / 一种快速识别多条码的系统及其方法

一种快速识别多条码的系统及其方法

阅读:822发布:2020-05-13

专利汇可以提供一种快速识别多条码的系统及其方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种快速识别多条码的系统及其方法,其中提出了基于区域描述的 条形码 定位 方法,首先对条形码图像进行区域标记,通过选取 阈值 ( 像素 个数),将面积小于阈值的区域去除,从而去除掉非条形码区域,然后对条形码图像进行定位,最后对条形码信息进行识别。使得能在不丢失条形码图像细节的前提下,对非条形码区域进行有效的清除。本发明具有准确率高、识别速度快等优点。,下面是一种快速识别多条码的系统及其方法专利的具体信息内容。

1.一种快速识别多条码的系统,其特征在于,包括处理模(1)、物体检测模块(2)、摄像头模块(3)、数据传输模块(4)、图像存储模块(5)、显示模块(6);其中,摄像头模块(3)与数据传输模块(4)连接,该数据传输模块(4)分别与处理模块(1)和图像存储模块(5)连接,图像存储模块(5)、物体检测模块(2)、显示模块(6)分别与处理模块(1)连接。
2.根据权利要求1所述的一种快速识别多条码的系统,其特征在于,所述处理模块(1)采用Zynq-7000开发板。
3.根据权利要求1所述的一种快速识别多条码的系统,其特征在于,所述物体检测模块(2)为红外传感器
4.根据权利要求1所述的一种快速识别多条码的系统,其特征在于,所述显示模块(6)为LED显示器。
5.一种用于权利要求1所述快速识别多条码的系统的方法,其特征在于,包括以下步骤:
S1:物体检测模块检测是否有物体靠近,用于识别是否有检测的需求;
S2:当带有多条码的物体靠近并需要进行多条码识别时,处理模块控制摄像头模块进行条形码图像采集
S3:采集到的图像信息通过数据传输模块分别发送给处理模块和图像存储模块;
S4:处理模块对采集到的图像中的多条码进行识别;
S5:识别后得出的多条码数据通过显示模块显示。
6.根据权利要求5所述的一种用于快速识别多条码的系统的方法,其特征在于,所述步骤S4处理模块对采集到的图像中的多条码进行识别的具体步骤如下:
(1)对条形码图像进行灰度化;
(2)条形码图像对比度增强;
(3)条形码图像边缘检测
(4)条形码图像平滑;
(5)条形码形态学处理;
(6)基于区域描述的条形码定位
(7)识别条形码。
7.根据权利要求5所述的一种用于快速识别多条码的系统的方法,其特征在于,所述步骤(6)基于区域描述的条形码定位的具体步骤如下:
1)从图像中第一个像素开始,将当前标签设置为1;
2)若像素是一个前景像素,并且它还没有标签,那么给它当前的标签,并添加它为集合中第一个元素,然后进行步骤3),若它是背景元素或已经被标记,那么对图像中的下一个元素重复步骤2);
3)从序列中弹挑出一个元素,并查看它的相邻元素,若相邻元素是一个前景元素,并还没被标记,那么给它当前的标签,并添加到队列中,重复步骤2),直到集合中没有更多的元素;
4)转到步骤2)图像中的下一个元素,并将当前标签增加1;
5)计算每个区域的面积,即像素个数;
6)设定阈值,清除掉低于阈值的区域。

说明书全文

一种快速识别多条码的系统及其方法

技术领域

[0001] 本发明涉及条形码识别的技术领域,尤其涉及到一种快速识别多条码的系统及其方法。

背景技术

[0002] 目前传统的条形码识别方法对于条形码的方向性和条形码质量有严格的要求,大多算法主要针对单一的固定位置条形码进行读取,对多条形码的研究少之又少,而实际的工业应用中往往需要对多个条形码同时读取,为了解决该问题,研究如何快速准确定位及识别多条形码非常具有实用意义。《电表图像中多条码的定位与识别》介绍了一种识别多条码的识别方法。此方法的步骤:首先,通过分扫描检测和平行线检测,来在图像中粗略确定条码区域;然后,通过边缘线连通量筛选和连通量膨胀截取,来将条码从定位区域中抽取出来;将条码虚拟化,再作为输入传入识别程序进行识别,最后输出识别结果。从而达到对多条码识别的目的。但此种算法存在的缺点就是实验复杂度较高,且识别效果不稳定。识别速率也欠佳。

发明内容

[0003] 本发明的目的在于克服现有技术的不足,提供一种准确率高、识别速度快的多条码识别系统。
[0004] 为实现上述目的,本发明所提供的技术方案为:
[0005] 一种快速识别多条码的系统,包括处理模块、物体检测模块、摄像头模块、数据传输模块、图像存储模块、显示模块;其中,摄像头模块与数据传输模块连接,该数据传输模块分别与处理模块和图像存储模块连接,图像存储模块、物体检测模块、显示模块分别与处理模块连接。
[0006] 进一步地,所述处理模块采用Zynq-7000开发板。
[0007] 进一步地,所述物体检测模块为红外传感器
[0008] 进一步地,所述显示模块为LED显示器。
[0009] 为实现上述目的,本发明另外提供一种用于所述快速识别多条码的系统的方法,包括以下步骤:
[0010] S1:物体检测模块检测是否有物体靠近,用于识别是否有检测的需求;
[0011] S2:当带有多条码的物体靠近并需要进行多条码识别时,处理模块控制摄像头模块进行条形码图像采集
[0012] S3:采集到的图像信息通过数据传输模块分别发送给处理模块和图像存储模块;
[0013] S4:处理模块对采集到的图像中的多条码进行识别;
[0014] S5:识别后得出的多条码数据通过显示模块显示。
[0015] 进一步地,所述步骤S4处理模块对采集到的图像中的多条码进行识别的具体步骤如下:
[0016] (1)对条形码图像进行灰度化;
[0017] (2)条形码图像对比度增强;
[0018] (3)条形码图像边缘检测
[0019] (4)条形码图像平滑;
[0020] (5)条形码形态学处理;
[0021] (6)基于区域描述的条形码定位;
[0022] (7)识别条形码。
[0023] 进一步地,所述步骤(6)基于区域描述的条形码定位的具体步骤如下:
[0024] 1)从图像中第一个像素开始,将当前标签设置为1;
[0025] 2)若像素是一个前景像素,并且它还没有标签,那么给它当前的标签,并添加它为集合中第一个元素,然后进行步骤3),若它是背景元素或已经被标记,那么对图像中的下一个元素重复步骤2);
[0026] 3)从序列中弹挑出一个元素,并查看它的相邻元素,若相邻元素是一个前景元素,并还没被标记,那么给它当前的标签,并添加到队列中,重复步骤2),直到集合中没有更多的元素;
[0027] 4)转到步骤2)图像中的下一个元素,并将当前标签增加1;
[0028] 5)计算每个区域的面积,即像素个数;
[0029] 6)设定阈值,清除掉低于阈值的区域。
[0030] 与现有技术相比,本方案提出了基于区域描述的条形码定位方法,首先对条形码图像进行区域标记,通过选取阈值(像素个数),将面积小于阈值的区域去除,从而去除掉非条形码区域,然后对条形码图像进行定位,最后对条形码信息进行识别。使得能在不丢失条形码图像细节的前提下,对非条形码区域进行有效的清除。具有准确率高、识别速度快等优点。附图说明
[0031] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的服务作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032] 图1为本发明一种快速识别多条码的系统的结构示意图;
[0033] 图2为本发明一种用于快速识别多条码的系统的方法的工作流程图
[0034] 图3为使用基于区域描述的条形码定位方法前后的对比图;
[0035] 图4为多条码识别后得出的识别结果的效果图。
[0036] 附图标记如下:
[0037] 1-处理模块,2-物体检测模块,3-摄像头模块,4-数据传输模块,5-图像存储模块,6-显示模块。

具体实施方式

[0038] 下面结合具体实施例对本发明作进一步说明:
[0039] 如图1所示,本实施例所述的一种快速识别多条码的系统,包括处理模块1、物体检测模块2、摄像头模块3、数据传输模块4、图像存储模块5、显示模块6;其中,摄像头模块3与数据传输模块4连接,该数据传输模块4分别与处理模块1和图像存储模块5连接,图像存储模块5、物体检测模块2、显示模块6分别与处理模块1连接。
[0040] 具体地,处理模块1采用Zynq-7000开发板,因为Zynq-7000集成了双核ARM Cortex A9构成的处理系统和FPGA的可编辑逻辑,同时具有软硬件可重编程功能,能够充分满足本论文应用所需的系统灵活性和定制要求。基于Zynq平台上进行条形码视觉检测的图像可以充分利用软硬件联合设计的优势,在可编程逻辑资源上,FPGA具有一次可同时执行多次指令的特点,利用此特点,可针对图像处理算法的高速模块进行设计,在ARM多CPU的处理器上,对系统的整体控制可通过嵌入式软件技术实现。
[0041] 物体检测模块2为红外传感器。
[0042] 摄像头模块3为CCD摄像头。
[0043] 数据传输模块4为各适配的传输端口。
[0044] 图像存储模块5为大容量存储器
[0045] 显示模块6为LED显示器。
[0046] 如图2所示,具体的工作原理如下:
[0047] S1:物体检测模块2检测是否有物体靠近,用于识别是否有检测的需求;
[0048] S2:当带有多条码的物体靠近并需要进行多条码识别时,处理模块1控制摄像头模块3进行条形码图像采集;
[0049] S3:采集到的图像信息通过数据传输模块4分别发送给处理模块1和图像存储模块5;
[0050] S4:处理模块1对采集到的图像中的多条码进行识别;
[0051] S5:识别后得出的多条码数据通过显示模块6显示。
[0052] 上述中,步骤S4处理模块对采集到的图像中的多条码进行识别的具体步骤如下:
[0053] (1)对条形码图像进行灰度化;通常利用CCD摄像头采集的条形码图片都是彩色的,但对于条形码识别来说,这些都是毫无意义的信息,为了运算效率提高,对条形码图片采取灰度化处理;
[0054] (2)条形码图像对比度增强;条形码图像采集过程中,会受到各种因素的影响,导致图片质量不高,条形码特征信息不明显,采取对比度增强能改善条形码图片质量,方便识别和操作;
[0055] (3)条形码图像边缘检测;条形码的识别过程中,由于条形码图像在拍摄及传送的过程中,会受到噪声的影响,使得条形码图像细节受到破坏,边缘模糊。而图像边缘包含了条形码的特征信息,是接下来条形码图像分割、识别的基础,所以需要对条形码图像进行边缘检测;
[0056] (4)条形码图像平滑;由CCD摄像头获得的条形码图像,是数字灰度图像,包括图像的目标特征和背景信息;对条形码图像采取二值化处理,就是为了去除掉条形码图像中的无关信息,减小条形码图像中包含的数据量,对下一步条形码图像操作运算量进行减少,从而使得系统运算速度加快;条形码图像的二值化操作,阈值的选择可谓是重中之重;根据合适的算法选定一个阈值,合适的阈值能使条形码图像的特征信息尽可能保留,又能最大化的减少噪声、背景的干扰;
[0057] (5)条形码形态学处理,将数字形态学作为提取图像分量的工具,例如方块轮廓、骨架等,用于从条形码图像表达和渲染区域形状;
[0058] (6)基于区域描述的条形码定位;获得条形码图像基本轮廓后,发现条形码图像中存在大量的背景干扰区域,在对条形码进行定位时,需尽量排除非条形码区域的干扰,例如图像中的线条,其他与条形码不相关的背景图案,这些背景往往散落在图像局部区域,不连续,成孤立状态;并且所占面积较小,为了降低后续操作的复杂度,应清除掉这些背景干扰区域,缩小条形码搜索范围,再在这个缩小的范围内进行搜索,从而提高速度。若处理的对象是单条形码,那么对单条形码图像进行多次腐蚀,那么也可将这些非条形码区域去除,因为单条形码图像不需要考虑条形码与条形码的边界问题,也不需考虑在对条形码多次腐蚀的情况下,是否会丢失图像的有效信息。
[0059] 但本实施例处理的对象是多条形码,即一个矩形条内有多个条形码的情况,若非条形码区域与条形码边界的距离比较短,那么在对条形码图像进行多次腐蚀后,会导致部分条形码信息丢失;为此,本实施例提出基于区域描述的条形码定位方法,基本步骤如下:
[0060] 1)从图像中第一个像素开始,将当前标签设置为1;
[0061] 2)若像素是一个前景像素,并且它还没有标签,那么给它当前的标签,并添加它为集合中第一个元素,然后进行步骤3),若它是背景元素或已经被标记,那么对图像中的下一个元素重复步骤2);
[0062] 3)从序列中弹挑出一个元素,并查看它的相邻元素,若相邻元素是一个前景元素,并还没被标记,那么给它当前的标签,并添加到队列中,重复步骤2),直到集合中没有更多的元素;
[0063] 4)转到步骤2)图像中的下一个元素,并将当前标签增加1;
[0064] 5)计算每个区域的面积,即像素个数;
[0065] 6)设定阈值,清除掉低于阈值的区域。
[0066] 效果如图3所示。
[0067] (7)识别条形码。目前,市场上针对条形码的识别有专的工具包可以完成,这对于条形码图像的识别是非常方便的,因为有了工具包,就不需要专门针对条形码编写解码程序,只需将图像发送到工具包只需将接收到的图像进行处理即可获取条形码信息。目前市场上有两个主流的开源条形码开发工具包。一个是 ZXing包,一个是ZBar包,ZBar包是由C语言开发的,性能优于ZXing,本实施例通过调用zbar库对定位的条形码进行识别,并输出详细结果。
[0068] 效果如图4所示。
[0069] 为验证本实施例的有效性和准确性,采集了600张多条形码图像进行测试,将其分为倾斜的、平铺的、复杂背景下的条形码图片,更加真实的去模拟现实中的情况。并以准确率和识别单个条形码所花费的平均时间作为参考分析此次实验结果。本次实验机器配置:WIN764位,Core i5,CPU 1.70GHz,内存8GB。实验结果对比如表1,表2所示。条形码识别统计结果如表1所示,在测试中,200张平铺条形码和200张倾斜条形码中,测试正确的张数均为
198张,识别率达到99%,而在200张复杂背景下的条形码图像中,测试正确的张数为196张,识别率为98%,而部分条形码无法识别的原因包括光照严重不均匀,以及条形码本身质量不佳,例如缺损等。统计单个条形码的平均识别时间如表2所示,单个条形码的平均识别时间大概为180ms,验证了本实施例提出的方法对于时间性能也有保证。
[0070] 表1条形码识别统计结果
[0071]
[0072] 表2单个条形码平均识别时间统计
[0073]
[0074] 算法的高性能来自于采用了有效的策略。其一,前期对多条码样本集进行了很好的处理,图像的去噪采用中值滤波的方法,然后对多条码图像采取二值化的操作通过选用Ostu法完成,从而使得条形码图像在光照不足的情况下也能实现较好的分割效果,通过数学形态学处理,获得条形码图像轮廓,为接下来提取条形码信息打下了基础。其二,采用区域描述的条形码算法,大大降低条形码识别受到噪声干扰的影响,即使在较为复杂背景的情况下,算法仍可检测出条形码。综上所述,本算法性能是非常好的,具有较大的实用意义。
[0075] 以上所述之实施例子只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈