CN116894447A - 光学代码的读取 - Google Patents
光学代码的读取 Download PDFInfo
- Publication number
- CN116894447A CN116894447A CN202310353421.1A CN202310353421A CN116894447A CN 116894447 A CN116894447 A CN 116894447A CN 202310353421 A CN202310353421 A CN 202310353421A CN 116894447 A CN116894447 A CN 116894447A
- Authority
- CN
- China
- Prior art keywords
- read
- characters
- message
- character
- pattern
- 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.)
- Pending
Links
- 230000003287 optical effect Effects 0.000 title claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000014509 gene expression Effects 0.000 claims description 10
- 238000011156 evaluation Methods 0.000 claims description 9
- 230000005693 optoelectronics Effects 0.000 claims description 4
- 238000012937 correction Methods 0.000 description 58
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000032258 transport Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000009459 flexible packaging Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011321 prophylaxis Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10821—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
- G06K7/1473—Methods for optical code recognition the method including quality enhancement steps error correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1413—1D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/095—Error detection codes other than CRC and single parity bit codes
- H03M13/096—Checksums
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Character Discrimination (AREA)
Abstract
本申请涉及光学代码的读取。提出了一种用于读取光学代码(20)的方法,该光学代码对具有包含多个字符的字符串的消息进行编码,该方法包括以下步骤:记录具有光学代码(20)的图像数据;通过读取消息来评估图像数据;将所读取的消息的字符与模式进行比较,该模式包含关于消息的至少一个位置的固定字符,该固定字符在待读取的光学代码(20)中预计在该位置处;以及基于与模式的比较,识别错误读取的消息和/或校正所读取的消息。该模式包含关于该消息的至少一个位置的可变字符,该可变字符在待读取的代码(20)中预计在该位置处,其中可变字符被设定在可能字符的子范围内,而不是设定在固定字符。
Description
本发明涉及根据权利要求1和14的前序部分的用于读取光学代码的方法以及光电读码器。
读码器在超市收银台、自动包裹辨识、邮件分拣、机场行李处理和其他物流应用中广为人知。在扫码器中,借助旋转反射镜或多面反射镜轮在代码上方横向引导读取光束。基于相机的读码器借助图像传感器记录其上有代码的对象的图像,并且图像评估软件从这些图像中提取代码信息。
在重要的一组应用中,携带代码的对象被输送经过读码器。在这种情况下,扫描式读码器逐一检测被依次引导到其读取区域中的代码。可替代地,在基于相机的读码器中,线扫描相机以相对运动的方式连续且逐行地读取具有代码信息的对象图像。使用二维图像传感器有规律地记录图像数据,这些图像数据根据记录频率和输送速度或多或少地重叠。为了使对象可以以任意取向布置在传送带上,通常在读取通道处设置多个读码器,以便从多个侧面或所有侧面记录对象。扫描式读码器也检测漫反射(Remission)并从而最终检测可以组合成对象图像的图像行,尽管为此目的在实践中更倾向于使用图像传感器。在这种对象图像中可以辨识代码区域并读取一维或二维代码。
对于读码器或读取通道而言,高的读取率是最重要的质量标准之一。读取错误(Lesefehler)迫使人们进行繁琐的错误排除,如重新手动扫描或重新分类。这种错误的原因可能在于代码本身的质量、不利的阅读情况(例如,代码在引起反射的薄膜下),并且最后也可能在于评估错误,例如在灰度值的二值化过程中的评估错误或不准确计算的扫描位置形式的评估错误。
为了避免读取错误,用于二维码(如DataMatrix、QR、Aztec、Maxicode、Dot-Code)甚至是批量代码(如PDF417和MicroPDF)的常规解码器都配备了里德-所罗门校正(Reed-Solomon-Korrektur)。这实现了强大的校正过程,即使是有较大缺陷的代码也能被正确读取。这不仅使原本无法读取的代码(NoRead)还能被读取,而且还避免了所谓的误读(MisRead)。在误读中,代码被错误地读取,并且无法识别到这一点。这种情况实际上不会发生在里德-所罗门校正中。如果超过了其错误容量则相应的代码就不能再被解码(NoRead)了。
然而,里德-所罗门校正不能用于条形码。在此,“条形码”一词应理解为1D条码,但在文献中,2D代码有时也被称为条形码。条形码的读取通常是借助校验和来验证的。如果从读取的用户数据中计算的校验和与一起读取的校验和一致,则假定解码正确。偏差意味着用户数据或校验和中至少有一个字符被错误读取,并且这通常会导致读取错误(NoRead)。
可以通过校验和来校正单个不可解码的或有缺陷的信息字符,即在一种反置校验和方法中,将受到影响的信息字符设置为一个值,然后利用该值使从用户数据计算出的校验和与读取的校验和一致。这种校正形式仅限于单个字符,不适用于大量受到影响的代码。然后,仍然存在读取错误(NoRead)。
此外,可能发生校验和也被错误读出而未被注意到的情况。这样的后果是,不可解码的或有缺陷的信息字符由于校正尝试而被设置为错误的值。甚至有可能所有的信息字符都是完全正确的,只有用错误的校验和进行校正尝试才会带来错误。如果有一个以上的信息字符被错误地解码而未被注意到,并且累积的错误意外地导致了正确的校验和,那么即使校验和正确也可能出现类似的情况。因此,用于条形码的根据校验和进行简单的校正方法会随着读取率的提高而增加错误读取(MisRead)的风险。
因此,校验和只能可靠地捕捉单个错误,因此传统的条形码校正在有多个错误的情况下是无抵抗能力的。然而在实践中,代码在多个位置受到影响并不少见。这方面的示例包括软包装(如包装袋)中的高度波形基材、部分粘在纸板折叠中的条形码标签或在具有许多局部平面缺陷的有着强反射率的薄膜下的条形码。
在EP 3 428 835 B1中,提出了一种读取光学代码的方法,其中在测试方法之前的预校正中,在代码的至少一个位置处用该位置已知的码字来替换码字。已知的码字是经参数化的,是由上级系统的数据库预先指定的,或者从读取代码的历史中学习的。这是预校正,旨在补充随后的里德-所罗门校正。对于代码中那些不知道码字的可变部分,该预校正没有提供任何改进。下游的里德-所罗门校正负责可变部分中的错误校正,EP 3428 835B1的优点在于,全部错误容量均可用于预校正之后的目的,而不是为已知码字的校正而被部分消耗。因此,在条形码没有里德-所罗门校正可能性的情况下,至少对于代码的可变部分来说,所描述的通过校验和进行非常有限的校正的所有缺点仍然存在。
因此,本发明的任务在于,提出用于读取光学代码的更加可靠和稳健的方法。
该任务通过根据权利要求1和14的用于读取光学代码的方法以及光电读码器来解决。为了预防起见,应当明确指出,这是一种自动运行的方法,特别是计算机实现的方法。人类观察者无论如何都会无可奈何地被大量的信息所淹没。光学代码包含消息(Botschaft),这是通过光学代码传达并被编码在其中的明文(Klartext)。消息具有包含多个字符的字符串。优选地,除了信息字符(Nutzeichen)之外,消息还包含至少一个校验字符,例如校验和(Checksumme)。为了读取代码并从而读取消息,首先以已知的开篇描述的方式之一来记录具有光学代码的图像数据。然后,优选地通过预处理在图像数据中找到代码区域,该预处理例如基于对比度对图像数据进行分割,并对代码区域中的各个代码进行解码,由此读取消息。
将读取的消息的字符与模式进行比较。该模式包含关于待读取的代码的先验知识。模式包括固定部分:根据模式,在消息的至少一个位置预计会有特定的固定字符,因此已知哪个字符在那里或者消息在该位置应该读什么。如果在应用情况下出现了具有自己相应的固定部分的代码族(Codefamilie),则可以有多个模式,在这种情况下,优选首先辨识例如与当前代码具有最佳一致性的合适模式,然后使用该模式。该模式使得当模式的固定部分没有按预期在消息中被读取时,识别错误读取的消息,和/或通过根据模式的固定部分的先验知识校正或替换部分消息来校正读取的消息。到目前为止,根据本发明的方法类似于开篇提到的EP 3 428 835 B1,对其进行了补充参考。
本发明现在基于以下基本思想:在模式中附加提供可变部分。对于消息的至少一个位置,预计会有可变字符,该可变字符不被设定为固定字符,而是仅在总的可能字符的子范围内变化。可变字符的典型示例是数字或字母。读取的消息的字符与模式的比较包括可变部分。如果在可变字符的位置读取了消息中与模式不一致的字符,则将该字符识别为错误。例如,在根据模式应该是字母的位置,读取到数字。这个错误可以被输出(MisRead),或者可以例如根据校验和来进行校正尝试。根据它们的定义,固定字符和可变字符是相互排斥的,因此,它们各自的位置根据模式是不同的。
本发明的优点在于,进一步提高了读取速率,并且在未读(NoRead)和误读(MisRead)方面都得到了改进。未读需要繁琐的后处理,例如通过重新手动检测代码,而误读甚至可能意味着在分拣、邮寄和其他通过代码控制的分配中出现未被识别的和特别重大的错误。根据本发明的校正不限于单个错误。在此,也可以补充缺失的字符,并且可以正确地重建代码长度。未识别到的误读的风险,特别是在校正失败后,大大降低。如还要更详细阐述的,模式可以通过有效的语法以用户友好的方式(例如在用户界面中)进行参数化,并且甚至可以从解码过程或相应的日志文件中自动地学习。本发明尤其适用于条形码,其中,EP 3 428 835 B1的预校正是不充分的,因为没有后续的里德-所罗门校正。尽管如此,仍有可能将本发明用于2D代码,以代替或补充里德-所罗门校正,里德-所罗门校正本身是稳健和强大的,但其错误容量不是无限的。
优选地,模式具有代码长度和/或对于每个位置都包含固定字符或可变字符。因此,模式包括代码长度的信息,即消息的总字符数。优选地,模式是完整的,因此对于消息的每个位置,从该模式中都可以知道哪个固定字符可能在那里,或者可能字符的哪个子范围作为可变字符可能在那里。代码长度隐含在这种完整性中,但代码长度仍然可以是模式的一个明确参数。模式也可以是不完整的,那么在基础代码规范的范围内至少有一个完全自由的字符。特别地,这可以是模式学习期间的临时状态。
在多个模式中,优先选择其固定字符最能反映在读取的消息中的模式作为待应用的模式。对于在一种应用情况下预计的不同代码族,可能会有一个模式库。那么就要面临选择使用哪种模式来检查错误读取的消息或者校正读取的消息。为此,模式的固定部分可以理解为一种指纹。其指纹与读取的消息最匹配的模式被使用。理想情况下,模式的整个固定部分都在消息中被读取。如果只有一部分一致,则例如可以通过读取的与模式相对应的固定字符的数量和/或这种读取的固定字符的最高比例来进行评估。
优选地,代码具有校验和,并且基于校验和来验证消息的读取。那么消息除了信息字符之外还包括至少一个校验字符。借助于与最初生成代码时用于计算校验和的算法相对应的算法,从读取的信息字符中计算校验和。如果计算的校验和与读取的校验和相符,则消息被视为有效的。由此,拦截误读(MisRead)。
优选地,在可变字符的位置,借助于校验和来校正不属于对于可变字符可能的字符的子范围的字符或不可读的字符,并且只有当校正后的字符属于对于该可变字符可能的字符的子范围时,才将结果接受为正确读取的消息。在这里,在可变部分中,基于校验和进行校正。开篇已解释过,这只适用于单个错误,并且在多重错误的情况下,可能会产生额外的误读(MisRead)。校验和基本上只能验证消息的完整性,或者用于进行校正,因为校正最终会迫使通过校验和来执行完整性。模式在这里实现了附加的保障,因为校正后的消息仍然还必须始终满足该模式。由此,拦截至少一部分额外的误读。
优选地,如果在消息中正确读取了模式的最小比例的字符,特别是至少一半的字符,则将模式的其余固定字符转移到消息中。这又涉及到借助于固定部分进行的校正。在这里,该校正受制于一个额外的条件,即以足够的可靠性在读取的消息中发现模式的固定部分。为此,要求与模式一致的最小比例(特别是至少一半)的读取的固定字符。消息的固定字符可以被固定部分的字符覆盖,但也可以被插入,由此消息得以延长。通过校验和进行的失败验证可以给出需要进行这种校正的指示。在通过校验和验证的消息中,出于效率的考虑,可以省去对固定部分的检查和可能的校正。反之,优选在校正之后基于校验和再次验证或检查代码长度。如果仍然存在错误,则这将输出为读取错误(NoRead)。在此之前,仍然可以设想,尝试在可变部分中通过校验和进行校正,但有可能出现已经描述过的由此引起的误读(MisRead)的风险。如果未达到正确读取的固定字符的最小比例,最好也存在读取错误(NoRead),这时对模式的分配太不确定,无法尝试校正。在这方面,可以通过最小比例来设定稳健性。
优选地,将以下消息归为误读:消息的长度与模式的代码长度不一致,或者在可变字符的位置上有不属于对于可变字符可能的字符的子范围的字符。优选地,该步骤在校正之后进行,但也可以独立于校正进行,特别是如果从一开始就可以基于校验和来验证消息的话。代码长度和模式中关于可变字符的规范使得在多重错误的情况下还能够至少部分地发现误读。原则上,即使可变字符符合模式,读取的校验和也可能来自多个错误的字符,但这种多重错误的概率会显著降低。这同样适用于校验和被正确读取的情况,例如校验和本身是多重错误的一部分的情况。
优选地,模式具有可变字符的可能字符的以下子范围中的至少一个:不可打印的字符、特殊字符、数字、字母、小写字母、大写字母。这些是消息中可以设想的字符的划分或类别的特别合适的示例。原则上,划分可以是完全随意地进行。然而,这样的语义类别使用户更容易理解,从而可以更容易地对应用进行诊断和优化。此外,代码中的规律性在实践中也更有可能以语义类别的形式出现,而不是任意的划分。通常,代码的可能字符由ASCII代码的数字0-127表示。可以在ASCII代码中再次找到上述的子范围。
优选地,将模式制定为正则表达式,该正则表达式指定了各位置允许的字符。正则表达式使用户更容易理解模式,并在必要时对正则表达式进行编辑。同时,便于进行内部处理,并且降低了解码器编程时出错的可能性。可替代地,可以设想模式的专有定义,但该定义最好至少接近正则表达式的清晰性和形式上的规律性。
为了学习模式,优选地评估多个读取的消息,特别是在操作中检测到的或从日志文件中加载的读取的消息。但原则上可以设想,直接预先给定模式,无论是通过在特别是图形化的用户界面中进行参数化,还是借助于数据载体或网络的读入。这对于模式的诊断或改进当然是有利的。然而,在该实施方式中,提供了使用户从该任务中解放出来的自动学习的功能。学习是基于读取的消息,优选地,这些消息可以来自正在进行的操作或以前的操作,特别是日志文件。还可以设想在操作过程中调整模式。有利地,已知从其中学习模式的消息是正确读取的消息。此外,优选地只使用从一开始就被正确读取的读取结果,特别是没有经过校验和进行校正的读取结果。但是,即使某些消息中缺少字符和/或某些消息包含错误的字符,也可以例如通过统计方法从读取的消息中导出一模式。优选地,在学习过程中对读取的消息进行分类,以便只有来自一个代码族的代码能进行输入,或者可以针对多个代码族学习多个模式。分类的标准可以是代码长度,但也可以是模式本身的一部分,特别是不同的固定部分。因此,在学习过程中,可能会发生由于固定部分不同而从一个模式形成两个或两个以上的模式。
优选地,根据读取的消息的相应位置上的读取的字符的分布来学习模式。因此,可以确定哪些字符出现在消息的相应位置。还可以计算字符在相应位置被读取的频率。
优选地,在始终读取到相同字符的位置上,学习相应的固定字符,而在读取到不同字符的位置上,学习从这些字符形成的子范围作为可变字符。因此,在一位置总是读取为相同的字符被添加到模式的固定部分中。在此,还可以预先指定额外的规范,如固定部分形成相邻字符块或者位于消息的开头或结尾。如果在一位置读取的字符有变化,则该读取的字符所覆盖的子范围被视为模式的可变字符。如有必要,该子范围可以扩展到完全覆盖特定的子范围。例如,如果在一位置读取到字符1、3、6,则根据实施方式,子范围可以精确地由这些字符{1,3,6}组成,也可由读取的最小字符1和最大字符6之间的整个跨度{1,2,3,4,5,6}组成,即还包括了未读取的字符2、4、5,或者由整个数字类别组成。如果在一位置上实际读取到任意随机的字符,那么对于这里的模式来说,既没有固定部分可以学习,也没有有用的可变部分可以学习。模式中仍有空白位置,可变字符实际上不受限制,或者学习被中止。此外,可以尝试找到读取的消息的子集,在这个子集中消除了导致这种情况的异常值(Ausreiβer)。可以输出异常值,以便用户有可能检查是否有理由在模式中不考虑这些读取的消息。
优选地,首先每个位置用空范围来初始化模式,将在一位置上读取的相应的第一字符存储在该位置,并且在一位置的第一字符之后的、在该位置读取的每个字符(该字符对于该位置仍然未知)扩展了该位置的子范围,以包括所读取的字符。这是学习模式的有利实现。最好像往常一样进行分类,使得从中学习相应模式的读取的消息属于同一代码族。初始化空的模式,该模式最初不知道关于任何位置的先验知识。在一位置读取的字符最初被视为是模式的固定字符。然而,这应该通过进一步读取的信息来确认。也可以要求固定字符至少被读取m次或n次中的m次。如果在一位置读取到另一字符,则可以根据n次中的m次标准将其视为异常值。然而,最好是到目前为止,在该位置读取的字符跨越了可变字符的子范围。随着在可变字符的位置上读取的每个新的字符,子范围可能会扩展。优选地,子范围应限于一个类别,如数字或字母,否则就会出现特别大的子范围或者学习的错误信息,因为在这个位置上无法识别出规律性或系统性,而这些规律性或系统性可以合理地记录在模式中。
在优选的扩展方案中,提供了光电读码器,该光电读码器具有至少一个用于从接收光产生图像数据的光接收元件以及内部和/或外部的控制和评估单元,在该评估单元中实现了根据本发明的用于读取光学代码的方法。
附图说明
下面将示例性地基于实施方式并参考附图对本发明的其他特征和优点进行更详细的阐述。在附图中:
图1示出了示例性地安装在传送带上方的读码器的示意性概览图,在传送带上输送带有要读取的光学代码的对象;
图2示出了在薄膜下由于反射而难以读取的光学代码的示例图像;
图3示出了用于学习检查和/或校正从光学代码读取的消息的模式的示例性流程图;
图4示出了多个读取的消息的示图,并示出了从中学习的模式;
图5示出了将可能的字符(这里是ASCII码)示例性地划分为模式的可变部分的子范围;以及
图6示出了基于模式来检查和/或校正从光学代码读取的消息的示例性流程图。
图1示出了安装在传送带12上方的光电读码器10,如箭头16所示,该传送带将对象14输送通过读码器10的检测区域18。对象14在其外表面上携带有代码区域20,该代码区域由读码器10检测和评估。只有当代码区域20附接在上面或至少从上方可见时,这些代码区域才能被读码器10识别到。因此,不同于图1中的示图,为了读取附接在侧面或下面的代码22,可以从不同的方向安装多个读码器10,以便能够实现所谓的全方位读取。在实践中,通常将多个读码器10布置成一个读取系统作为读取通道。在实践中,这种将读码器10固定应用在传送带处是非常普遍的。然而,本发明涉及代码的读取或读码器10本身,因此该示例应不被限制性地理解。例如,还可以手动扫描代码,或者在演示应用中,可以将代码或带有代码的对象14保持在读码器10的读取场中。
读码器10用光接收器24检测被输送的对象14和代码区域20的图像数据,这些图像数据由控制和评估单元26借助图像评估和解码方法进一步处理。对本发明而言,具体的成像方法并不重要,因此读码器10可以根据本身已知的任何原理来构造。例如,无论是借助线形图像传感器还是扫描方法,每次仅检测一行,并且控制和评估单元将在输送运动过程中检测到的行组合成图像数据。利用矩阵式图像传感器,一次记录就可以检测到较大的区域,其中在这里,也可以将输送方向和横向于输送方向的记录组合起来。读码器10的核心功能是解码,即将在光学代码中编码的消息读取为明文。消息是信息字符的字符串,优选地具有至少一个通常位于末尾的校验字符。读码器10经由接口28输出信息,如从代码中读取的消息或图像数据。
在下文中,将参考图2至图6对检查和/或校正从代码中读取的消息进行阐述。优选地,这是在控制和评估单元26中进行的。但也可以设想经由接口28输出图像数据或中间结果并将解码、检查和/或校正的至少一部分转移到上级系统,如控制计算机、网络或云。用于分割和找出代码区域20的图像数据的预处理以及解码本身被认为是已知的并且不做描述。
图2示出了在薄膜下由于反射而难以读取的光学代码的示例图像。正如在实践中经常发生的那样,标签上有多个代码。对于代码读取来说,尤为重要的是所谓的分类相关的代码,这些代码携带了与对象的下游分类相关的信息。其他代码也可以附接在旁边。然而,如果例如可以读取图2中最上面的代码而无法读取分类相关的代码,那就无济于事了。此外,当然也可以设想这样的情况:代码的反射或者其他损坏或干扰会影响到代码区域20的所有代码,或者反过来说,所有代码都是分类相关的,或者所有代码的正确解码对于应用来说都是不可或缺的。
为了提高如在图2中的那些受反射或其他损坏影响的代码的读取速率,关于代码的先验知识被记录在一模式中。然后可以基于该模式来补充读取的消息,以避免读取错误(NoReads),或者可以因此探测到误读(MisReads)。这一点将以条形码为例进行阐述,如在图2中所示。本发明对此特别有用,因为如里德-所罗门编码的强大校正可用于其他代码类型,但不希望排除本发明对其他代码类型的应用。
图3示出了自动学习模式的示例流程图。可替代地,可以通过特别是图形化的用户界面来输入模式,或者从数据载体中读取模式。用户界面还适用于显示、检查和在必要时编辑学习的模式。
在步骤T1中,检测多个读取的消息。这是解码光学代码的结果,这些结果将在以后的应用中出现。读取的消息可以在进行中的操作期间逐步获得和/或从过去获得,例如从具有先前读取结果的日志文件中获得。
在步骤T2中,根据出现的代码类型来评估读取的消息,例如通过出现的代码长度的统计数据来评估。这可以用来确定应该为哪些代码族创建模式。例如,如果以后只基于模式来检查或者校正分类相关的代码,则相应的代码族将通过其代码长度、特定标识符或内容来识别。模式分别只从属于相应代码族的读取的消息的子集来构建。可以设想,只学习单个模式,要么是最常出现的代码要么是预先给定的代码族。然后优选地,在步骤T1中只提供与该代码族相匹配的预分类的读取的消息。
在步骤T3中,根据与代码族或者模式相关的消息来评估哪些字符出现在哪些位置。为此,例如可以将针对这些位置读取的字符的无序集合简单地附加到每个位置,或者分别形成一区域,在该位置读取的所有字符都在该区域内,或者为每个位置形成读取的字符的真实频率分布。
然后,在步骤T4中,从逐个字符的分布导出模式。模式通常具有固定部分和可变部分。模式的固定部分的固定字符在学习期间读取的相应代码族的所有字符中重复出现,或者考虑到异常值,至少在n个案例中的m个案例中重复出现。固定部分也可以是辨识该模式的代码族的一种可能性。因此,可以生成至少一个附加模式。因为如果在读取的消息中在同一位置发现两个不同的固定部分,则它们实际上可能不是同一个代码族,而是两个代码族。固定部分以后可以在操作中用于为当前读取的代码找到正确的模式。
模式的可变部分的可变字符在整个读取的消息中并不像固定字符那样完全相同,而是保持在可能字符的子范围内。例如,它们是字母或数字。如果在步骤T3中确定的分布的间隔宽度(Spannbreite)在一位置变得过大,则可变字符最终会失去其意义,因为它几乎没有任何预测能力。然后,可变字符变成自由字符,这在模式中是可容忍的,但也可能导致错误消息,即对于读取消息的这些输入数据来说,不可能有合适的模式,尤其是在有多个自由字符的情况下。
从T1到T4的步骤绝不像图示那样仅严格运行一次。特别地,可以采用逐步或迭代的方法,其中逐步对进一步读取的消息进行评估。然后,相应地可以在步骤T2中开启另一模式,并且在步骤T3和T4中补充与所读取的消息相匹配的模式。在实际读取操作过程中,对模式的这种迭代调整也是可以设想的。可以要求在一个模式中包括最小数量的读取的消息,以便在统计上确保其有效性。
图4示出了多个读取的消息的示图,并示出了从中学习的模式。这是根据图3的学习的特别有利的实施,该实施进一步说明了以模式的形式获得先验知识。
为此,图5补充性地示出了将可能的字符示例性地划分为模式的可变字符的子范围。该表包含了对条形码特别感兴趣的ASCII值0-127,并将它们划分为七个类别:不可打印的字符、特殊字符#1、数字、特殊字符#2、大写字母、特殊字符#3、小写字母。相应的ASCII值范围可以跟据图例和标记条直接从表中提取。当然,本发明并不具体限于这些类别。然而,形成语义类别是有意义的,因为这对用户来说更容易理解,而且真正的代码族通常遵循一种语法,其中变量字符被限制在语义上而不是任意的子范围内。
回到图4,根据图3的步骤T1,在左上方那里示出了代码长度为21的十个读取的消息作为输入数据。优选地,这些读取的消息是未经校正的。在这个简化的示例中,规定所有读取的消息都属于同一代码族,并且应只学习一种模式,因此省略了图3中的步骤T2。
在图4的右上方,对应于图3的步骤T3,针对代码的每个位置示出了到目前为止读取的字符的ASCII的上下边界值。它们被初始化为对于字符不可能的值,如[-1,-1]。然后,针对相应位置测量的字符来修改边界值。例如,在第一行中,读取的第一个字符是ASCII代码为74的“J”,并将下边界值设置为该值74。当在第二行的第一位置再次读取到重复出现的“J”时,上边界值也设置为该值74。可替代地,在一位置第一次读取到一个字符时,可以将上边界值或两个边界值都设定为一数值。所示方法的优点在于,至少对重复出现的值的第一次确认仍然是可识别的,对重复次数进行计数的另外的参数可以被添加在这里或被编码到边界值中。
后面的可变字符在第一次在其位置上读到字符时,以相同方式处理。在这样的位置读取的另外的字符要么已经在已知边界值内,要么覆盖下边界值或上边界值,以便新读取的字符现在被包含在相应的子范围内。例如,对于最后一个字符来说,最初得到读取的“0”的ASCII代码的下边界值48。在第二行中,根据读取的“6”将上边界值设置为相关的ASCII代码54。在读取了十条消息之后,建立起ASCII代码的边界值为数字“0”和“9”的子范围[48,57],因为这是在十条消息中出现在该位置的两个边界值。
在图4的下部示出了在图3的步骤T4之后创建的模式。为此,对在步骤T3中获得的消息或模式的每个位置的分布进行评估,该分布在图4右上部分的最后一行示出。在读取的消息的前面部分,字符串“JJD01460000”总是重复出现,这是模式的固定部分。这可以从以下事实识别出来:这些位置的下边界值和上边界值是一致的,也就是说在所有十条消息中都读取到了相同的字符。
消息的其余后面部分是可变部分。在这里,下边界值和上边界值是各不相同的。原则上,针对相应的可变字符,现在可以根据下边界值和上边界值直接应用为该可变字符获得的间隔。然而,优选归纳到一个类别,并将下边界值或上边界值设定为相关的类别边界值(Klassengrenze)。例如,在图4的十条消息中,在第十二个位置只出现数字“8”和“9”,即可变部分的第一个位置,子范围[56,57]也相应地被确定。然而,与此原始子范围不同,该类别现在是开放的,所有数字在这个位置都应是模式所允许的。因此,模式的子范围成为[48,57]。
可以设想,在一位置上读取的字符超过了类别的边界值。这可以成为停止训练的理由,因为这样的模式不应被允许。可替代地,允许多个类别。然后为此,可以将最初确定的边界值移位到最近的类别下边界值或类别上边界值。这就在多个类别上形成连续的子范围。原则上,不连续(disjunkt)的类别也是可以设想的,例如数字和小写字母,它们在图5的ASCII表中是相互分开的。在确定子范围的过程中,必须检查新读取的字符是否超过了以前的类别边界值,然后添加两个附加的边界值以检测新的类别。这种具有多个类别的可变字符的其中一个类别可以被单个字符替换。例如,数字和特殊字符“+”就可以被允许用于这个可变字符。类别变得越大就越有意义。可变字符应涵盖操作中出现的字符,但在这个条件下应尽可能是有选择性的。
图4中的模式在开头包含固定部分,在末尾包含可变部分。本发明不限于此,在任意布置中可以有多个固定部分和/或多个可变部分。原则上,可以针对每个位置和每个字符单独确定该字符是固定字符还是可变字符,在这方面没有任何限制。
图6示出了基于模式来检查和/或校正从光学代码读取的消息的示例性流程图。在此之前,至少一个模式是预先给定的或者是根据图3至图5所阐述的方法学习的。
在步骤S1中,由读码器10记录具有代码区域20的图像。在步骤S2中,如图1所述,用解码器评估图像数据,以读取包含在代码中的消息。
在步骤S3中,分配合适的模式。这是基于代码长度、代码类型和/或基于消息的一部分来决定的。特别地,模式的固定部分可以作为一种指纹来辨识与模式匹配的代码。可替代地,只有一种模式或者模式是固定预先给定的。如果没有模式与消息相匹配,则图6所示的进一步的方法就不适用,并且在步骤S4中被中止或跳过。然后,以没有本发明的情况来处理读取的消息,即可以输出读取的消息,识别到的错误仍然存在,或者基于模式进行不同于本发明的校正或检查。
现在,使用匹配的模式来区分在步骤S2中读取的消息是否是有效的消息。为此,例如可以使用校验和。有可能至少部分信息是根本无法读取的。
如果消息是无效的,则在步骤S5中尝试基于模式进行校正。为此,将模式的固定部分与读取的消息的相应位置的字符进行比较。优选地,最小比例(例如,至少一半)的固定字符在模式中与在读取的消息中应当一致,以提供足够的确定性,即实际上读取了具有固定部分的与模式匹配的代码。可能已经在步骤S3中进行了这样的测试,因此不需要再重复。
如果比较得出的结果为肯定的,则模式的固定部分将被转移到消息中。在此,消息的固定字符将被模式的固定字符覆盖,并且如有必要,将插入字符以总体上达到正确的代码长度。在另一实施方式中,可以要求消息的代码长度在校正之前已经与模式所要求的代码长度相对应,然后就不插入任何字符了。
在根据步骤S5进行校正之后,消息的固定部分是强制性为正确的。仍然存在残差概率(Restwahrscheinlichkeit),即在固定部分中一致的最小比例不够,并且读取的代码实际上没有该固定部分。然而,有可能错误不仅发生在固定部分,而且可变部分中的一个或多个字符被错误地解码了。为了排除这种情况,例如基于校验和再次检查校正后的消息。如果成功的话,则现在假定校正后的消息是正确的读取结果。否则,如上所述,可以尝试根据校验和对可变部分进行校正,但这种过程的力度和可靠性是有限的。
在第一校正示例中,模式是在图4中学习的模式,其中代码长度为21以及位置1-11的固定部分为“JJD01460000”,然后是位置12-21的可变数字部分。该模式也用于所有进一步的校正示例。现在作为示例,已读取了信息“XJD023600009278066464”,其中校验和为18,与模式的固定部分的不同之处用粗体打印。基于校验和的检查不成功,因此尝试进行校正,并将匹配度明显高于一半的固定部分转移到读取的消息中:“JJD014600009278066464”。现在校验和是正确的,即是有效的消息。
在第二校正示例中,读取的消息为“D014600009278066464”。现在的错误在于前两个字符没有被读取,缺少了开始的“JJ”。因此,与要求的代码长度21相比,消息少了两个字符。因此,校验和是否随机错误地指示了有效的消息并不重要,这将是独立的第二指标。固定部分的匹配度仍然高于要求的最低比例50%。因此,模式的固定部分可以插入到正确的位置,即固定部分的前两个字符“JJ”被放置在读取的消息前面以进行校正。这使读取的消息达到了正确的代码长度21,并且计算出的校验和现在也是正确的。
在第三校正示例中,因为无法读取校验和,所以校正前的消息是无效的。最初,这并没有改变校正的可能性。然而,结果基本上就不那么可靠了,因为不可能进行最终的检查了,只有代码长度仍然可以进行检查。这里,要求重复读取代码是有意义的。在一些实施例中,每个代码无论如何都要被多次读取,那么就有可能为多次成功解码提高相应的阈值,以便能够充分确定可变部分的位置的字符可以被无错误地读出。
在步骤S5的校正之后,再次进行情况区分。如果即使进行了校正也无法重建有效的消息,则在步骤S6中仍然是读取错误(在这种情况下为NoRead)。如果校正是成功的,则该方法在步骤S7中继续识别错误读取。在步骤S3之后的情况区分的第二路径也通向步骤S7,即如果根据步骤S5,信息在不进行校正的情况下已经是有效的。此外,与图6不同的是,也可以设想始终根据步骤S5执行校正,甚至对于步骤S3之后已经有效的消息也是如此,这取决于是应该更信任消息的原始读取还是模式。
在步骤S7中,现在仍然识别误读(MisRead)。这是那些在根据步骤S5有校正或没有校正的情况下读取了有效的消息的情况,其中特别地,从信息字符计算出的校验和与读取的校验和一致。正如前面已经讨论过的,这种验证只有在单个错误的情况下才是可靠的,多重错误可能随机产生正确的校验和。
首先,如果这一点在步骤S3或者S5中尚未完成,则可以基于模式的固定部分与消息在固定部分的位置上的相应字符进行比较来确保模式与消息匹配。为此,固定部分必须与最小比例(例如,50%)一致。
针对模式的可变部分,检查读取的消息的可变字符是否位于模式的子范围中的相关位置。例如,如果模式要求在某个位置有一数字,但却读取到一特殊字符,则消息将被视为无效。此外,还可以检查模式的代码长度是否等于读取消息的代码长度。根据步骤S7的标准,无效的消息在未有效读取的情况下在步骤S6中结束根据图6的流程(在这种情况下为MisRead)。
否则消息将被视为有效。解码器原本能够无错误地读取该消息,或者有可能在步骤S5中对该消息进行校正,并且在步骤S7中也没有识别到误读。该消息在步骤S8中被输出,或用本发明之前常见的步骤进一步处理。
在以下的一些识别误读的示例中,仍然使用了图4中学习的模式。在非常简单的第一示例中,读取了消息“JJD014600005183211”。该消息有18个字符,与模式的代码长度21相比太短了,因此是误读。
在第二示例中,读取了消息“JJD01460000MJ18321108”。现在代码长度是正确的,但是在粗体打印位置是大写字母“MJ”,而不是模式中的数字。这也是误读。
在第三示例中,有一个误读,该误读即使通过根据步骤S7的方法也不能被发现。与固定字符不同,可变字符允许留有一定的余地,在读取的校验和中仍有多重错误被补偿。在此,校验和可以被正确地读取,也可以被错误地读取,因此是多重错误的一部分。现在,正确的信息是“JJD014600009283279219”,读取的是“JJD014600009275279219”,其中用粗体标记的数字是用错误读出的校验和进行了校正。这种错误是无法识别的。一方面,校验和是正确的,但其功能已经被所进行的校正尝试所消耗。此外,还使用了数字,由此模式得到了满足。如果校正没有通过校验和插入任何数字,这仍然会通过模式被注意到。在该第三示例中,在步骤S8中读取的消息将被认为是有效的,尽管它实际上是误读(MisRead)。当然,通过校验和进行校正尝试本可以省略,在这种情况下仍然是未读(NoRead)。如前所讨论的,这种风险总是存在于通过校验和进行的校正中,因此读取率速增加(NoRead减少),但同时也增加了误读(MisRead)的风险。通过根据本发明的模式,至少可以进一步降低后一种风险。
以一种清晰可理解的方式来显示或表示模式是有意义的。这有利于诊断和可能的人工优化,也有利于对与模式相关的步骤进行无错误的和系统的编程。在简单的实现中,子范围的边界值可以附加到模式的位置上,如图4的示例所示。这可以扩展到具有多个类别和/或子范围的允许字符的边界值的列表。
这可以用伪代码表示如下。类别的列表(“Type”)是可扩展的,特别是图5中的那些类别。
描述模式的另一种可替代方案是正则表达式。由此,将模式的定义缩减到一个严格定义的结构,该结构是许多用户所熟知的,并且针对该结构有用于设计、编辑和转换的标准模块。定义为正则表达式的模式的一个示例是“JJD…[a-z][a-z][0-9]…”。它起始于固定部分“JJD”,后面是任意三个任意的字符、然后是两个小写字母、一个数字、然后又是三个任意的字符。需要注意的是,并不是每个正则表达式都可以成为模式,例如,“^…[0-9]…$”包含一个段首和一个段尾,这在模式中不可能有对应的内容。编辑功能根本就不应该提供这些可能性,或者至少应该通过警告来拦截它们。
可以设想,为模式设计专有的系统或语言,以取代正则表达式。这样就可以更好地适应模式的要求。例如,大写字母可以用“C”表示,小写字母可以用“c”表示,以及数字可以用“N”表示,而固定字符则出现在括号中,并且自由字符仍然用“.”表示。这样,上面的正则表达式示例就变成了更紧凑的写法“[JJD]…ccN…”。
Claims (14)
1.一种用于读取光学代码(20)的方法,所述光学代码对具有包含多个字符的字符串的消息进行编码,所述方法包括以下步骤:
记录具有所述光学代码(20)的图像数据;
通过读取所述消息来评估所述图像数据;
将所读取的消息的字符与模式进行比较,所述模式包含关于所述消息的至少一个位置的固定字符,所述固定字符在待读取的光学代码(20)中预计在该位置处;以及
基于与所述模式的比较,识别错误读取的消息和/或校正所述读取的消息,
其特征在于,
所述模式包含关于所述消息的至少一个位置的可变字符,所述可变字符在待读取的代码(20)中预计在该位置处,其中可变字符被设定在可能字符的子范围内,而不是设定在固定字符。
2.根据权利要求1所述的方法,其中,所述模式具有代码长度和/或对于每个位置都包含固定字符或可变字符。
3.根据权利要求1或2所述的方法,其中,从多个模式中选择其固定字符最能反映在所述读取消息中的模式作为待应用的模式。
4.根据前述权利要求中任一项所述的方法,其中,所述代码(20)具有校验和,并且基于所述校验和来验证所述消息的读取。
5.根据权利要求4所述的方法,其中,在可变字符的位置,借助于所述校验和来校正不属于对于所述可变字符可能的字符的所述子范围的字符或不可读的字符,并且只有当校正后的字符属于对于所述可变字符可能的字符的所述子范围时,才将结果接受为正确读取的消息。
6.根据前述权利要求中任一项所述的方法,其中,如果在所述消息中正确读取了所述模式的最小比例的固定字符,特别是至少一半的固定字符,则将所述模式的其余固定字符转移到所述消息中。
7.根据前述权利要求中任一项所述的方法,其中,将以下消息归为误读:消息的长度与所述模式的代码长度不一致,或在可变字符的位置上有不属于对于所述可变字符可能的字符的所述子范围的字符。
8.根据前述权利要求中任一项所述的方法,其中,模式具有可变字符的可能字符的以下子范围中的至少一个:不可打印的字符、特殊字符、数字、字母、小写字母、大写字母,特别是通过ASCII代码。
9.根据前述权利要求中任一项所述的方法,其中,将模式制定为正则表达式,所述正则表达式指定了各位置允许的字符。
10.根据前述权利要求中任一项所述的方法,其中,为了学习模式,评估多个读取的消息,其中所述读取的消息特别是在操作中被检测到或被从日志文件加载。
11.根据权利要求10所述的方法,其中,根据所述读取的消息的相应位置上的读取的字符的分布来学习模式。
12.根据权利要求10或11所述的方法,其中,在始终读取到相同字符的位置上,学习相应的固定字符,而在读取到不同字符的位置上,学习从这些字符形成的子范围作为可变字符。
13.根据权利要求10至12中任一项所述的方法,其中,首先每个位置用空范围来初始化模式,将在一位置上读取的相应的第一字符存储在该位置,并且在一位置的第一字符之后的、在该位置读取的对于该位置仍然未知的每个字符扩展了该位置的子范围,以包括所读取的字符。
14.一种光电读码器(10),具有:至少一个光接收元件(24),其用于从接收光生成图像数据;以及控制和评估单元(26),在所述控制和评估单元中实施根据前述权利要求中任一项所述的用于读取光学代码(20)的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22166611.8 | 2022-04-05 | ||
EP22166611.8A EP4258160B1 (de) | 2022-04-05 | 2022-04-05 | Lesen von optischen codes |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116894447A true CN116894447A (zh) | 2023-10-17 |
Family
ID=81325106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310353421.1A Pending CN116894447A (zh) | 2022-04-05 | 2023-04-04 | 光学代码的读取 |
Country Status (6)
Country | Link |
---|---|
US (1) | US12093780B2 (zh) |
EP (1) | EP4258160B1 (zh) |
JP (1) | JP7547534B2 (zh) |
KR (1) | KR20230143563A (zh) |
CN (1) | CN116894447A (zh) |
PL (1) | PL4258160T3 (zh) |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6585157B2 (en) * | 1998-09-14 | 2003-07-01 | Psc Scanning, Inc. | Symbology determination to aid decoding in a bar code scanning system |
US6513714B1 (en) * | 1998-09-14 | 2003-02-04 | Psc Scanning, Inc. | Character reconstruction and element level processing in bar code scanning system |
JP2002288592A (ja) | 2001-03-23 | 2002-10-04 | Toshiba Corp | Idカード発行システム |
US11049349B2 (en) * | 2004-06-01 | 2021-06-29 | Daniel William Onischuk | Computerized voting system |
GB0702091D0 (en) * | 2007-02-02 | 2007-03-14 | Fracture Code Corp Aps | Secure Barcode |
US8245926B2 (en) * | 2008-11-19 | 2012-08-21 | Datalogic ADC, Inc. | Method of preventing multiple reads when scanning groups of optical codes |
CN104380308A (zh) | 2012-05-31 | 2015-02-25 | Opto电子有限公司 | 读入设备、读入结果输出方法和程序 |
EP3428834B1 (de) | 2017-07-12 | 2019-06-12 | Sick AG | Optoelektronischer codeleser und verfahren zum lesen von optischen codes |
DK3428835T3 (da) | 2017-07-13 | 2019-07-01 | Sick Ag | Method for reading an optical code |
US20210326665A1 (en) * | 2018-04-26 | 2021-10-21 | Shanghai Dobe Innovation Technology Development Co., Ltd. | Two-dimensional barcode encryption method, two-dimensional barcode transmission system and storage medium |
US10963659B1 (en) * | 2019-06-27 | 2021-03-30 | Amazon Technologies, Inc. | Identifying item barcodes |
JP2021141396A (ja) * | 2020-03-04 | 2021-09-16 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及び情報処理プログラム |
JP2023125002A (ja) * | 2022-02-28 | 2023-09-07 | キヤノン株式会社 | 検査装置、検査方法、印刷システム、検査システム |
-
2022
- 2022-04-05 EP EP22166611.8A patent/EP4258160B1/de active Active
- 2022-04-05 PL PL22166611.8T patent/PL4258160T3/pl unknown
-
2023
- 2023-03-14 US US18/121,502 patent/US12093780B2/en active Active
- 2023-03-17 JP JP2023043250A patent/JP7547534B2/ja active Active
- 2023-03-20 KR KR1020230035864A patent/KR20230143563A/ko unknown
- 2023-04-04 CN CN202310353421.1A patent/CN116894447A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP7547534B2 (ja) | 2024-09-09 |
EP4258160C0 (de) | 2024-05-08 |
PL4258160T3 (pl) | 2024-09-02 |
JP2023153742A (ja) | 2023-10-18 |
EP4258160B1 (de) | 2024-05-08 |
US20230316025A1 (en) | 2023-10-05 |
US12093780B2 (en) | 2024-09-17 |
KR20230143563A (ko) | 2023-10-12 |
EP4258160A1 (de) | 2023-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109255271B (zh) | 用于读取光码的光电代码阅读器和方法 | |
EP0431264B1 (en) | Method and apparatus for decoding bar codes from multiple scans | |
US5929421A (en) | Method and apparatus for recognizing and assembling optical code information from partially scanned segments | |
US4958379A (en) | Optical character reader for outputting a character from combinations of possible representations of the character | |
US6606396B1 (en) | Method and apparatus for detecting forgery | |
KR101081086B1 (ko) | 바코드 처리 장치 및 바코드 처리 방법 | |
KR20230125749A (ko) | 코드를 포함하는 객체의 이미지에서 코드 이미지 구역들 찾기 | |
US20200065537A1 (en) | Automatic form data reading | |
US10853613B2 (en) | Optoelectronic code reading apparatus and method of reading codes | |
EP2649555B1 (en) | Method for decoding a two-dimensional optical code | |
CN109255276B (zh) | 用于读取光学代码的方法 | |
CN116894447A (zh) | 光学代码的读取 | |
US20230359846A1 (en) | System and method for extracting a computer readable code from a captured image of a distribution item | |
KR100308415B1 (ko) | 바코드판독장치,바코드판독방법및컴퓨터판독가능매체 | |
US6070801A (en) | Bar code reader, bar code reading method and computer readable medium | |
CN109299628B (zh) | 一种条码的译码方法及装置 | |
US20150076229A1 (en) | Information recognition processing device and diagnosis method | |
KR20010064228A (ko) | 레이저다이오드 어레이를 이용한 바코드 판독시스템 및판독방법 | |
JP3448404B2 (ja) | バーコード読取装置及びバーコード読取方法 | |
EP3944130B1 (en) | Optical information reading apparatus and optical information reading method | |
US5519199A (en) | Method and apparatus for detecting and storing bar bode data and re-detecting undetected data | |
JPH09153110A (ja) | バーコード読取装置 | |
JPH08155397A (ja) | 郵便物区分装置およびバーコード印刷装置 | |
JPH06337954A (ja) | バーコードデコーダのデコード方法 | |
JPH04251394A (ja) | バーコード読取装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |