CN105184211B - 一种一维条码解码方法 - Google Patents
一种一维条码解码方法 Download PDFInfo
- Publication number
- CN105184211B CN105184211B CN201510629136.3A CN201510629136A CN105184211B CN 105184211 B CN105184211 B CN 105184211B CN 201510629136 A CN201510629136 A CN 201510629136A CN 105184211 B CN105184211 B CN 105184211B
- Authority
- CN
- China
- Prior art keywords
- data
- bar code
- array
- threshold value
- width
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000005611 electricity Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000005693 optoelectronics Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 2
- 238000002310 reflectometry Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
- Facsimile Transmission Control (AREA)
Abstract
本发明提供了一种一维条码解码方法,其中,所述一维条码在接收时受噪声干扰,所述方法包括:将白条码的电平宽度由窄到宽进行排序获得第一数组〔b1,…,bj,…,bn〕,将黑条的电平宽度也由窄到宽进行排序获得第二数组[s1,…,sj,…,sn];对于每一数组中的前j‑1个数据取平均值,对前j个数据取平均值,j依次取2到n;对于每一数组,当前j个数据的平均值与前j‑1个数据的平均值的比值大于或等于一阈值,则该第j个数据被认为是分割点,该第j个数据对应下一级宽度的条码;若小于所述阈值,则认为该第j个数据与该第j‑1个数据对应的是同一级宽度的条码。
Description
技术领域
本发明涉及条形码技术,尤其涉及一维条码识别技术。
背景技术
条形码技术是在计算机应用和实践中产生并发展起来的广泛应用于商业、邮政、图书管理、仓储、工业生产过程控制、交通等领域的一种自动识别技术,具有输入速度快、准确度高、成本低、可靠性强等优点,在当今的自动识别技术中占有重要的地位。
条形码是由一组规则排列的条(黑条码)、空(白条码)以及对应的字符组成的标记,“条(黑条码)”指对光线反射率较低的部分;“空(白条码)”指对光线反射率较高的部分,这些条和空组成的数据表达一定的信息,并能够用特定的设备识读,转换成与计算机兼容的二进制和十进制信息。
构成条码的基本单位是模块,模块是指条码中最窄的条或空,模块的宽度通常以mm或mil(千分之一英寸)为单位。构成条码的一个黑条码或白条码可由一个或多个基本单位组成,即黑条码或白条码的宽度为基本单位宽度的一倍或多倍。
条码扫描器光源发出的光照射到黑白相间的条码上时,其反射光照射到光电转换器上,于是光电转换器接收到与白条和黑条相应的强弱不同的反射光信号,并转换成相应的电信号输出到放大整形电路。由于黑条反射率较低、白条反射率较高,被反射回来的光经过光电转换后,表现为宽窄不一的连续脉冲波形,其相应的电信号持续时间(即电平宽度)长短也不同。
噪声对上述电信号的污染表现为:黑条被磨损(宽度减小),白条被加宽,即,黑白条码受噪声污染的表现不一致。
现有技术的条形码图像处理方法中,由于模拟前端需要采集的数据量巨大,因此,对CPU处理能力以及模拟前端的要求高,从而实现成本高。此外,现有技术中通常采用同一个滤波函数来对条形码进行噪声滤波,运算效率低。
因此,亟需一种算法复杂度低、硬件成本低,且性能稳定、可移植性强的一维条码解码方法。
发明内容
为了解决现有技术中的上述问题,本发明提供了一种一维条码解码方法。所述方法包括以下步骤:
将白条码的电平宽度由窄到宽进行排序获得第一数组〔b1,…,bj,…,bn〕,将黑条的电平宽度也由窄到宽进行排序获得第二数组[s1,…,sj,…,sn];
对于每一数组中的前j-1个数据取平均值,对前j个数据取平均值,j依次取2到n;
对于每一数组,当前j个数据的平均值与前j-1个数据的平均值的比值大于或等于一阈值,则该第j个数据被认为是分割点,该第j个数据对应下一级宽度的条码;若小于所述阈值,则认为该第j个数据与该第j-1个数据对应的是同一级宽度的条码。
在一个实施例中,所述方法还包括:
以该分割点为参照,归一化其所在的数组,以进行码型识别。
在一个实施例中,所述方法还包括:
在识别出码型后,根据码型编码规则,进行解码。
在一个实施例中,所述方法还包括:
根据解码结果,动态调整所述阈值,若所述解码结果为无解时,则调整所述阈值,并重复权利要求1中的最后一个步骤。
附图说明
本发明的以上发明内容以及下面的具体实施方式在结合附图阅读时会得到更好的理解。需要说明的是,附图仅作为所请求保护的发明的示例。在附图中,相同的附图标记代表相同或类似的元素。
图1为基于CODE128码的一条形码;
图2为接收端的模拟前端接收的电平波形;
图3为根据本发明一实施例的一维条码解码方法的流程图。
具体实施方式
以下在具体实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域技术人员了解本发明的技术内容并据以实施,且根据本说明书所揭露的说明书、权利要求及附图,本领域技术人员可轻易地理解本发明相关的目的及优点。
黑条和白条经过光电转换后,表现为宽窄不一的电信号,其中黑条对应高电平,白条对应低电平。噪声对转换后的电信号的污染表现为:黑条被磨损(宽度减小),白条被加宽。
图1为基于CODE128码的一条形码。图2为接收端的模拟前端接收的电平波形。从图2中可以看出高电平(对应黑条)与理论值比变窄;低电平(对应白条)比理论值变宽。
然而,黑/白条受噪声污染表现出局部的一致。也就是说,噪声对所有的白条的污染表现是一致的,即变宽的程度相近;噪声对所有的黑条的污染表现也是一致的,即变窄的程度相近。基于上述考虑,本发明对于黑白条纹分开处理。
但是,即便已经将黑白条码分开处理,但在处理同一颜色的条码时,仍然存在码型识别上的困难。举例而言,一个一维条码中,码型按宽度通常分为4级,即1级宽度为一倍基本单元的宽度、2级宽度为两倍基本单元的宽度、3级宽度为三倍基本单元的宽度、4级宽度为四倍基本单元的宽度。不同宽度,代表的是不同的信息。在没有噪声干扰的理想情况下,接收端接收到的电平宽度与一维条码中的条码宽度是分别对应的。但在有噪声干扰的情况下,原本扫描到的例如一倍基本单元的宽度的白条,到了接收端可能接收到的是大于一倍基本单元的电平宽度,这时候,接收端需要判断所述电平宽度到底是表示1级宽度的白条,还是2级宽度的白条,这中间存在一个分割点,若能找到这个分割点,那么就认为小于该分割点的电平宽度是对应了1级宽度的白条,而大于该分割点的电平宽度是对应了2级宽度的白条。同理,对于2级宽度与3级宽度的白条之间、3级宽度与4级宽度的白条之间也存在这样的分割点。鉴于黑/白条受噪声污染表现出局部的一致的特点,本发明通过采用排序、平均值作参考的方法找到前后两个级别宽度之间的分割点,从而消除信号加性噪声的影响,充分利用信号特性,提高解码效率;同时阈值可以动态调整,更好适应信号质量。
图3示出根据本发明一实施例的一维条码解码方法的流程图。
步骤101中:将白条的电平宽度由窄到宽进行排序获得第一数组〔b1,…,bj,…,bn〕,将黑条的电平宽度也由窄到宽进行排序获得第二数组[s1,…,sj,…,sn]。
步骤102中:对于每一数组中的前j-1个数据取平均值,对前j个数据取平均值,j依次取2到n。
步骤103中:当前j个数据的平均值与前j-1个数据的平均值的比值大于或等于一阈值,则认为该第j个数据对应下一级宽度的条码,该第j个数据被认为是分割点;若小于所述阈值,则认为该第j个数据与第j-1个数据对应的是同一级宽度的条码。
例如,对于第一数组,b1显然对应1级宽度的白条,计算b1和b2的平均值,如果b1和b2的平均值与b1的比值大于或等于该阈值,则认为找到了分割点,即b2对应2级宽度的白条;若小于该阈值,则认为b1和b2均对应1级别宽度的白条;然后,计算b1、b2和b3的平均值,若b1、b2和b3的平均值与b1和b2的平均值的比值大于某一个预设的阈值,那么就认为b3为下一级宽度的白条,否则仍然为b3与b2属于同一级宽度的白条;依次类推。
在一个实施例中,所述阈值为设定的判定常数,但在CPU可负荷范围内可以实时进行调整。例如,当最后的解码解不出来时,则说明该阈值需要进行调整。
步骤104中,以该分割点为参照,归一化其所在的数组,进行码型识别(即,最终识别出1级、2级、3级、4级宽度)。
步骤105中,根据码型编码规则,进行解码。
步骤106中,根据解码反馈,动态调整所述阈值。
根据实验数据,本发明的技术方案对CPU的速度要求低,而且识别率较高、识别速度快,有着非常广阔的应用前景。
这里采用的术语和表述方式只是用于描述,本发明并不应局限于这些术语和表述。使用这些术语和表述并不意味着排除任何示意和描述(或其中部分)的等效特征,应认识到可能存在的各种修改也应包含在权利要求范围内。其他修改、变化和替换也可能存在。相应的,权利要求应视为覆盖所有这些等效物。
同样,需要指出的是,虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可做出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。
Claims (2)
1.一种一维条码解码方法,其中,所述一维条码在接收时受噪声干扰,其特征在于,所述方法包括:
将白条码的电平宽度由窄到宽进行排序获得第一数组〔b1,…,bj,…,bn〕,将黑条的电平宽度也由窄到宽进行排序获得第二数组[s1,…,sj,…,sn];
对于每一数组中的前j-1个数据取平均值,对前j个数据取平均值,j依次取2到n;
对于每一数组,当前j个数据的平均值与前j-1个数据的平均值的比值大于或等于一阈值,则该第j个数据被认为是分割点,该第j个数据对应下一级宽度的条码;若小于所述阈值,则认为该第j个数据与该第j-1个数据对应的是同一级宽度的条码;
所述方法还包括:
以该分割点为参照,归一化其所在的数组,以进行码型识别;
在识别出码型后,根据码型编码规则,进行解码。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据解码结果,动态调整所述阈值,若所述解码结果为无解时,则调整所述阈值,并重复权利要求1中的最后一个步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510629136.3A CN105184211B (zh) | 2015-09-28 | 2015-09-28 | 一种一维条码解码方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510629136.3A CN105184211B (zh) | 2015-09-28 | 2015-09-28 | 一种一维条码解码方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN105184211A CN105184211A (zh) | 2015-12-23 |
| CN105184211B true CN105184211B (zh) | 2018-08-24 |
Family
ID=54906282
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201510629136.3A Active CN105184211B (zh) | 2015-09-28 | 2015-09-28 | 一种一维条码解码方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN105184211B (zh) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1046994A (zh) * | 1989-06-01 | 1990-11-14 | 山东大学 | 光学符号的特征识别法 |
| CN1083238A (zh) * | 1992-08-27 | 1994-03-02 | 清华大学 | 一种条形码识别算法 |
| CN1674033A (zh) * | 2004-04-16 | 2005-09-28 | 广州市瀚迪科技开发有限公司 | 一种一维条码解码方法 |
| CN101908129A (zh) * | 2010-06-01 | 2010-12-08 | 福建新大陆电脑股份有限公司 | 一种邮政条码的码值提取方法 |
| JP5683891B2 (ja) * | 2010-10-07 | 2015-03-11 | 日本電産サンキョー株式会社 | スタック型バーコード読取装置およびスタック型バーコード読取方法 |
-
2015
- 2015-09-28 CN CN201510629136.3A patent/CN105184211B/zh active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1046994A (zh) * | 1989-06-01 | 1990-11-14 | 山东大学 | 光学符号的特征识别法 |
| CN1083238A (zh) * | 1992-08-27 | 1994-03-02 | 清华大学 | 一种条形码识别算法 |
| CN1674033A (zh) * | 2004-04-16 | 2005-09-28 | 广州市瀚迪科技开发有限公司 | 一种一维条码解码方法 |
| CN101908129A (zh) * | 2010-06-01 | 2010-12-08 | 福建新大陆电脑股份有限公司 | 一种邮政条码的码值提取方法 |
| JP5683891B2 (ja) * | 2010-10-07 | 2015-03-11 | 日本電産サンキョー株式会社 | スタック型バーコード読取装置およびスタック型バーコード読取方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN105184211A (zh) | 2015-12-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11224105B2 (en) | Systems and methods with TRIAC dimmers for voltage conversion related to light emitting diodes | |
| EP1632839A3 (en) | System and method for inserting a graphic object into a text based message | |
| WO2002073359A3 (en) | A system and method for performing object association at a tradeshow using a location tracking system | |
| CN105135782A (zh) | 一种基于物联网的智能冰箱管理系统 | |
| CN108897798A (zh) | 用电客服工单分类方法、装置以及电子设备 | |
| CN113821602A (zh) | 基于图文聊天记录的自动答疑方法、装置、设备及介质 | |
| US20100145974A1 (en) | System and method for managing recipes using an electronic device | |
| CN109102331A (zh) | 货物信息处理方法、服务器、系统、电子设备及存储介质 | |
| CN1145904C (zh) | 无接触接收数据与能量的数据载体和运行一个这样数据载体的方法 | |
| CN105184211B (zh) | 一种一维条码解码方法 | |
| WO2006084258A3 (en) | System for the management and use of information from voice input | |
| US9208378B2 (en) | Methods of processing data from multiple image sources to provide normalized confidence levels for use in improving performance of a recognition processor | |
| EP1953694A3 (en) | Setting-information creating apparatus, setting-information creating method, information output system, and computer product | |
| RU97199U1 (ru) | Система, мобильное устройство и считывающее устройство для передачи текстовой информации с помощью графических изображений | |
| CN103493071B (zh) | 信号处理设备、信号处理方法和接收设备 | |
| CN101867616A (zh) | 在移动通信网上实现物流业务单证无纸化传递的方法 | |
| EP1408445A3 (en) | Physics based neural network for validating data | |
| Gabriel et al. | Eco-efficiency Analysis: Applications and User Contacts. | |
| US20210263103A1 (en) | Battery level management system | |
| EP2182664A3 (en) | Communication methods and systems having permutation schemes | |
| CN106874979B (zh) | 一种条形码处理、显示、读取方法和装置 | |
| CN111222129A (zh) | 等级保护中的数据采集方法 | |
| Nilli | Short odd cycles in 4‐chromatic graphs | |
| Petrović et al. | Impulse noise detection based on robust statistics and genetic programming | |
| CN106991347B (zh) | 一种条码中标识字符的定位方法及装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| CB02 | Change of applicant information |
Address after: 710065 Kam Road No. 70, Xi'an high tech Zone, Shaanxi Province, 2 Applicant after: XI'AN ZHONGYING ELECTRONIC CO., LTD. Address before: 710065 Shaanxi hi tech Zone, Xi'an Jin Road, No. 70 satellite building 2F Applicant before: XI'AN ZHONGYING ELECTRONIC CO., LTD. |
|
| CB02 | Change of applicant information | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |