CN107609450B - 条码辨识方法 - Google Patents
条码辨识方法 Download PDFInfo
- Publication number
- CN107609450B CN107609450B CN201710807272.6A CN201710807272A CN107609450B CN 107609450 B CN107609450 B CN 107609450B CN 201710807272 A CN201710807272 A CN 201710807272A CN 107609450 B CN107609450 B CN 107609450B
- Authority
- CN
- China
- Prior art keywords
- region
- value
- barcode
- bar code
- element 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000005070 sampling Methods 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 9
- 238000010586 diagram Methods 0.000 description 22
- 238000012937 correction Methods 0.000 description 9
- 238000012795 verification Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 239000000428 dust Substances 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
Images
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/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
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06018—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding
- G06K19/06028—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding using 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/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/1495—Methods for optical code recognition the method including an image compression step
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明提供一种条码辨识方法,该条码辨识方法包含将取样条码进行二值化处理,以产生二值化条码;取得二值化条码中的第一区域;由第一区域中取得第一窄元素宽度;取得二值化条码中的第二区域;由第二区域中取得第二窄元素宽度;若第二窄元素宽度比第一窄元素宽度小,扩展第二区域,以形成扩展区域;计算扩展区域中的多个二值化数序;将该些二值化数序中至少一个二值化数序利用查询表解码,以产生至少一个解码数序;及将至少一个解码数序利用检查码验证,以产生验证数序。借此,以提升解码成功率。
Description
技术领域
本发明描述了一种条码辨识方法,尤指一种具备错误更正能力的条码辨识方法。
背景技术
随着科技进步,各种条码逐渐被应用在日常生活中,并慢慢地取代繁杂且易错误的文字资讯。条码是将宽度不等的多个黑条(Bar)和白条(Space),按照特定的编码规则(即黑白宽度比例)排列,用以表达一组资讯的图形识别元。常见的条码是由反射率相差很大的黑条和白条排成的平行线图案。条码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等资讯,因而在商品流通、图书管理、邮政管理、银行系统等许多领域都得到了广泛的应用。
一般而言,要将条码识别以产生具有意义的资讯需要两个步骤。第一个步骤称为条码取样步骤。条码取样步骤可以利用相机、扫描器、激光识别装置等光元件撷取条码的图案。第二个步骤称为解码步骤。解码步骤可以利用查询表或是解码器将取样后的条码转换为有意义的资讯。然而,在执行条码取样步骤时,扫描器可以利用自身光源照射条码,再利用光电转换器接受反射的光线,并将反射光线的明暗转换成二值化讯号,最后完成二值化的取样过程。
然而,在执行条码取样步骤时,容易受到外在的环境光、杂讯、灰尘、甚至扫描器本身的脏污影响而导致条码画面取样失真。例如,取样的条码画面中,黑条和白条的宽度容易受到灰尘的影响而失真,特别在于条码尺寸较小,而且黑条和白条的宽度较细的时候特别容易受到环境干扰。当取样的条码中某些黑条或白条的宽度发生失真时,容易发生解码失败或是解出错误的资讯。换句话说,一般在执行解码步骤时,条码影像并不会进行影像处理而将错误的影像资料还原,因此一般的解码步骤容易受到环境干扰而增加解码失败的机率。
发明内容
本发明的目的在于提供一种条码辨识方法,以提升解码成功率。
为达到上述目的,本发明提供一种条码辨识方法,包含:将取样条码进行二值化处理,以产生二值化条码;取得该二值化条码中的第一区域;由该第一区域中取得第一窄元素宽度;取得该二值化条码中的第二区域;由该第二区域中取得第二窄元素宽度;若该第二窄元素宽度比该第一窄元素宽度小,扩展该第二区域,以形成扩展区域;计算该扩展区域中的多个二值化数序;将该多个二值化数序中至少一个二值化数序利用查询表解码,以产生至少一个解码数序;及将该至少一个解码数序利用检查码验证,以产生验证数序。
较佳的,该第一区域位于该第二区域之前,且该二值化条码包含多个第一值区域以及多个第二值区域,且该多个第一值区域及该多个第二值区域对应不同的灰阶值。
较佳的,该方法还包含步骤:取得该条码的规格;其中该第一区域包含符合该规格的N个第一值区域以及M个第二值区域,且N和M均为正整数。
较佳的,若该第二窄元素宽度比该第一窄元素宽度小,扩展该第二区域,以形成该扩展区域包含:若该第二窄元素宽度比该第一窄元素宽度小,扩展该第二区域以使该第二区域额外地包含该第一值区域及该第二值区域,以形成该扩展区域。
较佳的,该方法还包含:在该扩展区域中,若该第二窄元素宽度对应的区域为该第二值区域且在两个该第一值区域之间,将该第二值区域调整为该第一值区域。
较佳的,该方法还包含:在该扩展区域中,若该第二窄元素宽度对应的区域为该第一值区域且在两个该第二值区域之间,将该第一值区域调整为该第二值区域。
较佳的,该方法还包含:将该扩展区域中的多个第一值区域及多个第二值区域的数量调整至符合该条码的规格的数量;其中该多个二值化数序为该扩展区域中,符合该条码的该规格的数量的该多个第一值区域及该多个第二值区域所组合的数序。
较佳的,该方法还包含:若该多个二值化数序中的一个二值化数序不符合该第一窄元素宽度,则舍弃该二值化数序。
较佳的,该第一区域为条码起始型态区域,且该第二区域为条码资料区域。
较佳的,该方法还包含:以线型感测器阵列扫描条码,以产生该取样条码。
与现有技术相比,本发明的条码辨识方法具有影像错误更正能力。也由于本发明的条码辨识方法具有影像错误更正能力,因此,条码最后在解码时,较不会受到外在环境所造成的影像失真而影响解码成功率。亦即,相较于一般的条码辨识方法,本发明的条码辨识方法会有很高的解码成功率。
附图说明
图1是本发明的条码辨识方法中,在取样阶段的操作示意图。
图2是本发明的条码辨识方法中,将取样条码进行二值化处理后的示意图。
图3是本发明的条码辨识方法中,二值化条码的第一区域的示意图。
图4是本发明的条码辨识方法中,第一区域与第二区域的位置示意图。
图5是本发明的条码辨识方法中,二值化条码的第二区域的示意图。
图6是本发明的条码辨识方法中,第一区域与扩展区域的示意图。
图7是本发明的条码辨识方法中,二值化条码的扩展区域的示意图。
图8是本发明的条码辨识方法中,第一类型的校正后的扩展区域的示意图。
图9是本发明的条码辨识方法中,第二类型的校正后的扩展区域的示意图。
图10是本发明的条码辨识方法中,第三类型的校正后的扩展区域的示意图。
图11是本发明的条码辨识方法中,将二值化条码分段解码后的示意图。
图12是本发明的条码辨识方法的流程图。
具体实施方式
为使对本发明的目的、构造、特征、及其功能有进一步的了解,兹配合实施例详细说明如下。
图1是本发明的条码辨识方法中,在取样阶段的操作示意图。于此说明,本发明的「条码」可为任何种类的双灰阶图形条码,例如各种形式的条形码(Barcode)。换句话说,现存的不同黑白宽度比例的Code11、Code39、Code128、PDF147等等规格的条形码都可应用在本发明的条码辨识方法之中。在图1中,条码BCR可为以油墨印刷在物件平面上的条码。而扫描线SL可为以线型感测器阵列(Line Sensor Array)所构成的光感应区域。扫描线SL可用于以接触或非接触式的模式,对条码BCR进行影像取样。因此,将条码BCR进行取样(后文称为,取样条码)以及后文所述的进一步地对取样条码进行二值化(Binarization)的处理(后文称为,二值化条码BC)后,取样条码以及二值化条码BC均会符合扫描线SL的宽度以及长度。然而,设计人员也可以视需求缩放条码BCR、取样条码以及二值化条码BC的尺寸,例如将条码BCR进行取样后的影像放大或缩小等等。任何合理的技术变更都属于本发明所揭露的范畴。应当理解的是,当线型感测器阵列的扫描线SL对条码BCR进行影像取样时,由于外在的环境光、杂讯、灰尘、甚至扫描器本身的脏污影响,可能会使取样结果产生误差。例如,取样条码的黑条(Bar)或白条(Space)可能会出现灰阶值的失真或是边缘模糊情况发生。由于本发明的条码可为双灰阶的图形条码,为了避免因画面失真而产生多余的灰阶影像,取样条码可进行二值化的处理。举例而言,使用者可以自订或是使用预设的灰阶标准值。灰阶标准值可为在灰阶度0至255之间的数值。取样条码内的每一个黑条以及白条的灰阶值会与灰阶标准值比对。若比对结果小于灰阶标准值,则将对应的影像设定为单一灰阶值的黑条(例如灰阶值为0的黑条,后文称为第一值)。若比对结果大于灰阶标准值,则将对应的影像设定为单一灰阶值的白条(例如灰阶值为255的白条,后文称为第二值)。因此,经过二值化后的取样条码(二值化条码BC),其影像内仅有两种灰阶值。然而,当取样条码的灰阶值失真太大,即便用了二值化处理,二值化条码内的黑条与白条的宽度也未必是正确的。因此,本发明的条码辨识方法会对二值化条码进行影像错误更正,详细的步骤以及原理将描述于后文。
图2是本发明的条码辨识方法中,将取样条码进行二值化处理后的示意图。如前述提及,取样条码进行二值化处理后会产生二值化条码BC。二值化条码BC的影像内仅有两种灰阶值。二值化条码BC包含了多个第一值区域以及多个第二值区域。多个第一值区域的数目可视为二值化条码BC内的多个黑条数目,多个第二值区域的数目可视为二值化条码BC内的多个白条数目。接着,二值化条码BC的第一区域R1会先被辨识。二值化条码BC的第一区域R1可为二值化条码BC的起始型态(Start Pattern)区域。而辨识的方法可为由二值化条码BC的起始点扫描,符合特定规格的N个第一值区域以及M个第二值区域,且N和M为两正整数。例如,当二值化条码BC是为规格Code128的条码时,起始型态的区域会被定义为具有三个黑条以及三个白条的区域。因此,第一区域R1的产生方式可为由二值化条码BC的起始点由左向右扫描,符合规格的三个第一值区域以及三个第二值区域。换句话说,在图2的实施例中,第一区域R1可视为二值化条码BC一段扫描区间,这段扫描区间内包含了三个第一值区域以及三个第二值区域。
图3是本发明的条码辨识方法中,二值化条码BC的第一区域R1的示意图。如前述提及,第一区域R1包含三个第一值区域以及三个第二值区域。例如,第一区域R1包含宽度为8的第一值区域B1R1、宽度为3的第二值区域S1R1、宽度为5的第一值区域B2R1、宽度为15的第二值区域S2R1、宽度为5的第一值区域B3R1以及宽度为7的第二值区域S3R1。因此,第一区域R1的宽度为43。在第一区域R1中,可以观察出每一个第一值区域以及第二值区域的宽度,因此,由这些第一值区域以及第二值区域中,可以取得最窄的一个区域宽度。例如,在图3的实施例中,三个第一值区域(B1R1、B2R1及B3R1)以及三个第二值区域(S1R1、S2R1及S3R1)内最窄的区域是宽度为3的第二值区域S1R1。在此,第二值区域S1R1的宽度可被定义为第一窄元素宽度(Narrow Element Width)NE1,其数值为3。
图4是本发明的条码辨识方法中,第一区域R1与第二区域R2的位置的示意图。当第一区域R1中的第一窄元素宽度NE1被决定后,类似地,第一区域R1之外符合规格的三个第一值区域以及三个第二值区域会被侦测,并定义为第二区域R2。第二区域R2可为邻接于第一区域R1的条码资料区域。第二区域R2也可为非邻接于第一区域R1的条码资料区域。第一区域R1位于第二区域R2之前。于此说明,本文的「之前」或「之后」与二值化条码BC被扫描的方向有关。若二值化条码BC被扫描的方向由左至右,则第一区域R1可定义于第二区域R2的左边。若二值化条码BC被扫描的方向由右至左,则第一区域R1可定义于第二区域R2的右边。由于第二区域R2可属于条码资料区域,因此本发明的条码辨识方法会对第二区域R2进行错误侦测,并进行错误更正,以使第二区域R2内因失真所造成的错误影像能被还原。以下将说明如何侦测第二区域R2的影像正确性,以及如何进一步进行影像错误更正的方法。
图5是本发明的条码辨识方法中,二值化条码BC的第二区域R2的示意图。如前述提及,第二区域R2包含三个第一值区域以及三个第二值区域。例如,第二区域R2包含宽度为8的第一值区域B1R2、宽度为9的第二值区域S1R2、宽度为10的第一值区域B2R2、宽度为5的第二值区域S2R2、宽度为2的第一值区域B3R2、宽度为1的第二值区域S3R2。因此,第二区域R2的宽度为35。在第二区域R2中,可以观察出每一个第一值区域以及第二值区域的宽度,因此,可以取得这些第一值区域以及第二值区域中,最窄的一个区域宽度。例如,在图5的实施例中,三个第一值区域(B1R2、B2R2及B3R2)以及三个第二值区域(S1R2、S2R2及S3R2)内最窄的区域是宽度为1的第二值区域S3R2。在此,第二值区域S3R2的宽度可被定义为第二窄元素宽度NE2,其数值为1。由于第二窄元素宽度NE2(数值为1)比第一窄元素宽度NE1(数值为3)的宽度要小,表示第二区域R2内出现了不合理的宽度,因此可以推断第二区域R2的影像为失真状态。在图5中,第一值区域B3R2以及第二值区域S3R2都比第一窄元素宽度NE1的宽度要小,表示第二区域R2的影像的失真位置大约落在第一值区域B3R2以及第二值区域S3R2附近。由于第二区域R2为具有失真影像的区域,因此本发明的条码辨识方法会执行影像错误更正,描述于下。
图6是本发明的条码辨识方法中,第一区域R1与扩展区域ER的示意图。如前述提及,第二区域R2可为邻接于第一区域R1。当第二区域R2中的第二窄元素宽度NE2比第一区域R1中的第一窄元素宽度NE1要小时,表示第二区域R2的影像为失真状态。因此,邻接于第二区域R2的延伸区域ER2将会被考虑。在此,延伸区域ER2包含一个第一值区域及一个第二值区域。而延伸区域ER2与第二区域R2将被定义为扩展区域ER。换句话说,在本实施例中,第二区域R2包含三个第一值区域及三个第二值区域,而扩展区域ER包含四个第一值区域及四个第二值区域。更一般性地说,第二区域R2包含N个第一值区域及M个第二值区域,而扩展区域ER包含N+1个第一值区域及M+1个第二值区域。
图7是本发明的条码辨识方法中,二值化条码BC的扩展区域ER的示意图。如前述提及,扩展区域ER包含四个第一值区域及四个第二值区域。例如,扩展区域ER包含原本属于第二区域R2的宽度为8的第一值区域B1R2、宽度为9的第二值区域S1R2、宽度为10的第一值区域B2R2、宽度为5的第二值区域S2R2、宽度为2的第一值区域B3R2、宽度为1的第二值区域S3R2,以及延伸区域ER2的宽度为1的第一值区域B1ER2以及宽度为8的第二值区域S1ER2。因此,扩展区域ER的宽度为35+9=44。在前述侦测第二区域R2时,由于第二窄元素宽度NE2比第一窄元素宽度NE1要小,因此可以判断第二区域R2的影像出现失真。并且,由于第二区域R2的第一值区域B3R2(宽度为2)以及第二值区域S3R2(宽度为3)的宽度均小于第一窄元素宽度NE1,因此可以判断影像失真的位置大略在第一值区域B3R2以及第二值区域S3R2的附近。于此说明,当杂讯干扰影像的宽度时,最常见的影像失真为第二窄元素宽度NE2对应的区域(例如S3R2)为第二值区域且在两个第一值区域之间。如同图7所示,白条的第二值区域S3R2过窄,且在两个黑条的第一值区域B3R2以及B1ER2之间。此时,第二窄元素宽度NE2对应的区域(例如S3R2)将会被视为杂讯影像,第二值区域S3R2将会被调整为第一值区域,而使第一值区域B3R2至第一值区域B1ER2之间的灰阶值没有变化。然而,上述的情况也可能为相反的动作。换句话说,若第二窄元素宽度对应的区域为第一值区域且在两个第二值区域之间,会将第一值区域调整为第二值区域,使两个第二值区域之间的灰阶值没有变化(如图8)。并且,上述的规则仅是一种影像错误更正的模式而已,在实际应用时,可以用类似的规则来修正任何宽度小于第一窄元素宽度NE1的区域。
如前述提及,在本实施例中,第二区域R2应包含三个第一值区域以及三个第二值区域。然而,因为第二区域R2被侦测出影像失真,因此会取额外的第一值区域以及第二值区域而形成扩展区域ER。包含四个第一值区域以及四个第二值区域的扩展区域ER将会进行调整,以符合条码规格所规定的第一值区域以及第二值区域的数量的方式,产生所有第一值区域及第二值区域所组合的数序。换句话说,扩展区域ER会经由适当调整,让其影像仅包含符合本实施例的Code128规格的三个第一值区域以及三个第二值区域。而所有调整的方式都会以二值化数序的方式储存,最后再进行解码以及验证。将扩展区域ER内的这些第一值区域及这些第二值区域的数量进行调整的方法将描述于下。
图8是本发明的条码辨识方法中,第一类型的校正后的扩展区域ER1’的示意图。可比对图7,第一值区域B3R2的宽度小于第一窄元素宽度NE1,且第一值区域B3R2在两个第二值区域S2R2以及S3R2之间,第一值区域B3R2将会调整灰阶值至第二值。因此,第二值区域S2R2至S3R2的灰阶值将没有变化。换句话说,图7中第二值区域S2R2至S3R2可视为一体的第二值区域,且定义为图8的第二值区域S2R2’。(图7中)扩展区域ER的四个第一值区域及四个第二值区域经过调整后会减少一个第一值区域及一个第二值区域。因此,校正后的扩展区域ER1’仅包含三个第一值区域及三个第二值区域。如图8所示,校正后的扩展区域ER1’包含宽度为8的第一值区域B1R2、宽度为9的第二值区域S1R2、宽度为10的第一值区域B2R2、宽度为8的第二值区域S2R2’、宽度为1的第一值区域B1ER2以及宽度为8的第二值区域S1ER2。
图9是本发明的条码辨识方法中,第二类型的校正后的扩展区域ER2’的示意图。可比对图7,第二值区域S3R2的宽度小于第一窄元素宽度NE1,且第二值区域S3R2在两个第一值区域B3R2以及第一值区域B1ER2之间,第二值区域S3R2将会调整灰阶值至第一值。因此,第一值区域B3R2至第一值区域B1ER2的灰阶值将没有变化。换句话说,图7中第一值区域B3R2至第一值区域B1ER2可视为一体的第一值区域,且定义为图9的第一值区域B3R2’。(图7中)扩展区域ER的四个第一值区域及四个第二值区域,经过调整后会减少一个第一值区域及一个第二值区域。因此,校正后的扩展区域ER2’仅包含三个第一值区域及三个第二值区域。如图9所示,校正后的扩展区域ER2’包含宽度为8的第一值区域B1R2、宽度为9的第二值区域S1R2、宽度为10的第一值区域B2R2、宽度为5的第二值区域S2R2、宽度为4的第一值区域B3R2’以及宽度为8的第二值区域S1ER2。
图10是本发明的条码辨识方法中,第三类型的校正后的扩展区域ER3’的示意图。可比对图7,第一值区域B1ER2的宽度小于第一窄元素宽度NE1,且第一值区域B1ER2在两个第二值区域S3R2以及S1ER2之间,第一值区域B1ER2将会调整灰阶值至第二值。因此,第二值区域S3R2至S1ER2的灰阶值将没有变化。换句话说,图7中第二值区域S3R2至S1ER2可视为一体的第二值区域,且定义为图10的S1ER2’。(图7中)扩展区域ER的四个第一值区域及四个第二值区域经过调整后会减少一个第一值区域及一个第二值区域。因此,校正后的扩展区域ER3’仅包含三个第一值区域及三个第二值区域。如图10所示,校正后的扩展区域ER3’包含宽度为8的第一值区域B1R2、宽度为9的第二值区域S1R2、宽度为10的第一值区域B2R2、宽度为5的第二值区域S2R2、宽度为2的第一值区域B3R3以及宽度为10的第二值区域S1ER2’。
图8到图10的影像错误更正方式,只是本发明的一个实施例而已。在实际演算时,发生影像错误的区域以及更正方式非局限于图8到图10的模式。任何合理的影像错误更正方式都属于本发明所揭露的范畴。将图8到图10的校正后的扩展区域数位化的后,可以得出多个二值化数序。例如,校正后的扩展区域ER1’的二值化数序可以表示为”8,9,10,8,1,8”。校正后的扩展区域ER2’的二值化数序可以表示为”8,9,10,5,4,8”。校正后的扩展区域ER3’的二值化数序可以表示为”8,9,10,5,2,10”。这些二值化数序表示在第二区域R2进行影像更正后的所有黑条以及白条宽度的可能组合。接着,这些二值化数序会利用查询表解码,以产生至少一个解码数序。而无法解码的二值化数序会被视为无效的数序,将会被舍弃。举例而言,以Code128规格的条码而论,假设任何区域内的最窄元素宽度至少要为3以上。因此,上述的二值化数序”8,9,10,8,1,8”以及二值化数序”8,9,10,5,2,10”中,因有小于3的宽度数值,必然会因解码失败(Decode Fail)而被舍弃。因此,以上述实施例而言,只有校正后的扩展区域ER2’的二值化数序”8,9,10,5,4,8”才有可能被解码成功。最后,解码成功的数序会被利用检查码(Check Sum)验证。
图11是本发明的条码辨识方法中,将二值化条码BC分段解码后的示意图。如前述的实施例,本发明的条码辨识方法会先取得一段第一区域R1,而第一区域R1对应图11中的二值化条码BC的起始型态(Start Pattern)区域SP。接着,二值化条码BC的起始型态区域SP的后的第二区域R2会被进行影像分析以及处理,判断第二区域R2内的条码影像是否失真。如果第二区域R2内的条码影像失真,则将第二区域R2扩展,以还原第二区域R2的影像。换言的,图11中的二值化条码BC的起始型态区域SP的后的第一解码区域S1可视为一个完整的将第二区域R2的影像进行还原的区域。依此类推,当第一解码区域S1解码且验证成功后,第一解码区域S1之后的第二解码区域S2、第三解码区域S3将逐一进行影像处理而依序解码。最终,二值化条码BC由起始型态区域SP至终止区域EP中间的资料区域都会被解码。例如,二值化条码BC的资料区域解码后对应的二位元资料为验证数序”612345678901”。而前述提及的验证步骤可利用二值化条码BC中的检查码区域CS实行。并且,验证数序可代表二值化条码BC完成解码以及验证步骤的资讯,可对应二值化条码BC所代表的有效编码数据,例如物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、或日期等资讯或代码。
图12是本发明的条码辨识方法的流程图。本发明的条码辨识方法包含步骤S1201至步骤S1209。任何合理的步骤异动都属于本发明所揭露的范畴。步骤S1201至步骤S1209说明如下。
步骤S1201:将取样条码进行二值化处理,以产生二值化条码BC;
步骤S1202:取得二值化条码BC中的第一区域R1;
步骤S1203:由第一区域R1中取得第一窄元素宽度NE1;
步骤S1204:取得二值化条码BC中的第二区域R2;
步骤S1205:由第二区域R2中取得第二窄元素宽度NE2;
步骤S1206:扩展第二区域R2,以形成扩展区域ER;
步骤S1207:计算扩展区域ER中多个二值化数序;
步骤S1208:将该多个二值化数序中至少一个二值化数序利用查询表解码,以产生至少一个解码数序;
步骤S1209:将至少一个解码数序利用检查码验证,以产生验证数序。
步骤S1201至步骤S1209的详细内容以及功效已于前文中详述,故于此将不在赘述。利用步骤S1201至步骤S1209的条码辨识方法,可以更正一些影像失真所造成的错误。例如,在两黑条之间过窄宽度的白条失真,以及在两白条之间过窄宽度的黑条失真。因此,利用步骤S1201至步骤S1209的条码辨识方法,可以提升条码解码的成功率。
综上所述,本发明描述了一种条码辨识方法,利用条码的起始型态区域当成参考区域,依序侦测不同的条码区域中是否有失真的影像发生。当某个位置的影像被判断为失真或是杂讯,可用邻近的影像(例如黑条或是白条的影像)的灰阶值来校正失真的影像。因此,本发明的条码辨识方法可视为一种具有影像错误更正能力的条码辨识方法。也由于本发明的条码辨识方法具有影像错误更正能力,因此,条码最后在解码时,较不会受到外在环境所造成的影像失真而影响解码成功率。亦即,相较于一般的条码辨识方法,本发明的条码辨识方法会有很高的解码成功率。
本发明已由上述相关实施例加以描述,然而上述实施例仅为实施本发明的范例。必需指出的是,已揭露的实施例并未限制本发明的范围。相反地,在不脱离本发明的精神和范围内所作的更动与润饰,均属本发明的专利保护范围。
Claims (10)
1.一种条码辨识方法,其特征在于,包含:
将取样条码进行二值化处理,以产生二值化条码;
取得该二值化条码中的第一区域;
由该第一区域中取得第一窄元素宽度;
取得该二值化条码中的第二区域;
由该第二区域中取得第二窄元素宽度;
若该第二窄元素宽度比该第一窄元素宽度小,扩展该第二区域,以形成扩展区域,该第二区域与延伸区域定义为该扩展区域,该延伸区域邻接该第二区域;
计算该扩展区域中的多个二值化数序;
将该多个二值化数序中至少一个二值化数序利用查询表解码,以产生至少一个解码数序;及
将该至少一个解码数序利用检查码验证,以产生验证数序。
2.如权利要求1所述的方法,其特征在于,该第一区域位于该第二区域之前,且该二值化条码包含多个第一值区域以及多个第二值区域,且该多个第一值区域及该多个第二值区域对应不同的灰阶值。
3.如权利要求2所述的方法,其特征在于,还包含:
取得该条码的规格;
其中该第一区域包含符合该规格的N个第一值区域以及M个第二值区域,且N和M均为正整数。
4.如权利要求2所述的方法,其特征在于,若该第二窄元素宽度比该第一窄元素宽度小,扩展该第二区域,以形成该扩展区域包含:
若该第二窄元素宽度比该第一窄元素宽度小,扩展该第二区域以使该第二区域额外地包含该第一值区域及该第二值区域,以形成该扩展区域。
5.如权利要求4所述的方法,其特征在于,还包含:
在该扩展区域中,若该第二窄元素宽度对应的区域为该第二值区域且在两个该第一值区域之间,将该第二值区域调整为该第一值区域。
6.如权利要求4所述的方法,其特征在于,还包含:
在该扩展区域中,若该第二窄元素宽度对应的区域为该第一值区域且在两个该第二值区域之间,将该第一值区域调整为该第二值区域。
7.如权利要求1所述的方法,其特征在于,还包含:
将该扩展区域中的多个第一值区域及多个第二值区域的数量调整至符合该条码的规格的数量;
其中该多个二值化数序为该扩展区域中,符合该条码的该规格的数量的该多个第一值区域及该多个第二值区域所组合的数序。
8.如权利要求1所述的方法,其特征在于,还包含:
若该多个二值化数序中的一个二值化数序不符合该第一窄元素宽度,则舍弃该二值化数序。
9.如权利要求1所述的方法,其特征在于,该第一区域为条码起始型态区域,且该第二区域为条码资料区域。
10.如权利要求1所述的方法,其特征在于,还包含:
以线型感测器阵列扫描条码,以产生该取样条码。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710807272.6A CN107609450B (zh) | 2017-09-08 | 2017-09-08 | 条码辨识方法 |
US16/114,230 US10460142B2 (en) | 2017-09-08 | 2018-08-28 | Barcode identification method for improving decoding reliability by correcting image distortion |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710807272.6A CN107609450B (zh) | 2017-09-08 | 2017-09-08 | 条码辨识方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107609450A CN107609450A (zh) | 2018-01-19 |
CN107609450B true CN107609450B (zh) | 2020-06-26 |
Family
ID=61062413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710807272.6A Expired - Fee Related CN107609450B (zh) | 2017-09-08 | 2017-09-08 | 条码辨识方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10460142B2 (zh) |
CN (1) | CN107609450B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10650631B2 (en) * | 2017-07-28 | 2020-05-12 | Hand Held Products, Inc. | Systems and methods for processing a distorted image |
CN113454646A (zh) * | 2018-10-15 | 2021-09-28 | 高斯外科公司 | 用于处理图像的方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106056020A (zh) * | 2016-06-01 | 2016-10-26 | 东莞理工学院 | 一种基于机器视觉系统的条码检测识别方法及系统 |
CN106600290A (zh) * | 2016-12-05 | 2017-04-26 | 湖北迈士科技有限公司 | 商品条码防伪及验证方法、系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4254724B2 (ja) * | 2005-02-16 | 2009-04-15 | 株式会社デンソーウェーブ | バーコード読取り方法及びコンピュータプログラム |
CN102034073B (zh) * | 2009-09-25 | 2013-11-06 | 神基科技股份有限公司 | 条形码辨识方法及条形码辨识装置 |
-
2017
- 2017-09-08 CN CN201710807272.6A patent/CN107609450B/zh not_active Expired - Fee Related
-
2018
- 2018-08-28 US US16/114,230 patent/US10460142B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106056020A (zh) * | 2016-06-01 | 2016-10-26 | 东莞理工学院 | 一种基于机器视觉系统的条码检测识别方法及系统 |
CN106600290A (zh) * | 2016-12-05 | 2017-04-26 | 湖北迈士科技有限公司 | 商品条码防伪及验证方法、系统 |
Also Published As
Publication number | Publication date |
---|---|
US20190080130A1 (en) | 2019-03-14 |
US10460142B2 (en) | 2019-10-29 |
CN107609450A (zh) | 2018-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4911340B2 (ja) | 二次元コード検出システムおよび二次元コード検出プログラム | |
JP5262869B2 (ja) | 画像処理システム、画像処理サーバ、mfp及び画像処理方法 | |
KR101783337B1 (ko) | 이미지 문서에서 텍스트를 추출하는 방법 및 장치 | |
US5262626A (en) | Decoding bar codes from multiple scans using element replacement | |
JP5334042B2 (ja) | 文字列認識方法及び文字列認識装置 | |
US7636483B2 (en) | Code type determining method and code boundary detecting method | |
US7949187B2 (en) | Character string recognition method and device | |
EP0999519B1 (en) | Distortion correction method in optical code reading | |
US6722567B2 (en) | Generating and decoding graphical bar codes | |
CN110569683B (zh) | 条码检测方法及条码检测系统 | |
JP2001092919A (ja) | 2次元バーコードのねじれ角決定法 | |
US7305131B2 (en) | Extracting graphical bar codes from an input image | |
CN111783495A (zh) | 一种条形码识别方法、装置、电子设备及存储介质 | |
JP6283772B2 (ja) | マークの信頼性を検証するための方法およびシステム | |
CN107609450B (zh) | 条码辨识方法 | |
US10509934B1 (en) | Methods and apparatus for improving QR code locator detectability and/or finding the corners of a locator pattern | |
JP5011508B2 (ja) | 文字列認識方法及び文字列認識装置 | |
JP2011257896A (ja) | 文字認識方法及び文字認識装置 | |
JP4874706B2 (ja) | Qrコード読取装置 | |
US10872257B2 (en) | Barcode detection method and barcode detection system for increasing detection efficiency | |
EP2088533A1 (en) | Apparatus and methods for decoding digital codes | |
US10303913B2 (en) | Virtual wave decoder for blurred images and subpixel performance | |
JP3844594B2 (ja) | 工業文字認識方法 | |
JP2007213358A (ja) | 二次元コード検出システムおよび二次元コード検出プログラム | |
TWI742492B (zh) | 條碼偵測方法及系統 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200626 Termination date: 20210908 |