CN114169352A - 条码信息识别方法及电子设备 - Google Patents

条码信息识别方法及电子设备 Download PDF

Info

Publication number
CN114169352A
CN114169352A CN202111256684.8A CN202111256684A CN114169352A CN 114169352 A CN114169352 A CN 114169352A CN 202111256684 A CN202111256684 A CN 202111256684A CN 114169352 A CN114169352 A CN 114169352A
Authority
CN
China
Prior art keywords
character
bar code
black
black connected
connected domain
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
Application number
CN202111256684.8A
Other languages
English (en)
Inventor
朱元丰
倪继康
王开创
宋明岑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gree Electric Appliances Inc of Zhuhai
Zhuhai Gree Intelligent Equipment Co Ltd
Original Assignee
Gree Electric Appliances Inc of Zhuhai
Zhuhai Gree Intelligent Equipment Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Gree Electric Appliances Inc of Zhuhai, Zhuhai Gree Intelligent Equipment Co Ltd filed Critical Gree Electric Appliances Inc of Zhuhai
Priority to CN202111256684.8A priority Critical patent/CN114169352A/zh
Publication of CN114169352A publication Critical patent/CN114169352A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1447Methods for optical code recognition including a method step for retrieval of the optical code extracting optical codes from image or text carrying said optical code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1452Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • G06T5/30Erosion or dilatation, e.g. thinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Character Discrimination (AREA)

Abstract

本申请是关于一种条码信息识别方法及电子设备。该方法包括:获取条码字符图像;基于条码字符图像得到每个字符的字符外接矩形;根据字符外接矩形对每个字符依次进行字符质量检测,得到目标字符;字符质量检测包括:提取当前字符的字符外接矩形内的黑色连通域;计算当前字符的字符外接矩形内的黑色连通域数;判断黑色连通域数是否大于一,若是,则对当前字符执行字符修复,得到目标字符;若否,则将当前字符作为目标字符;将目标字符合并得到目标字符串;利用OCR技术识别目标字符串,得到条码信息。本申请提供的方案,能够提高图像质量不良、条码残缺等特殊情况下的解码成功率。

Description

条码信息识别方法及电子设备
技术领域
本申请涉及图像处理技术领域,尤其涉及条码信息识别方法及电子设备。
背景技术
在传统的一维码信息提取方法中,都是利用相应的解码算法直接针对该条码部分进行信息提取的,对于一维码的图像质量要求较高,同时对于存在部分残缺或者被遮挡的一维码将会导致解码失败。尤其是在某些特殊情况下,例如:图像质量不良、条码残缺、条码遮挡等,传统的一维码信息提取方法往往解码成功率较低。
相关技术中,公开号为CN111738031B的专利文件提供了一种一维条码识别方法,其步骤包括:对条码图像进行检测识别,若条码内容和校验位无误,则输出条码内容,若存在错误,则利用OCR识别对条码图像进行识别获取文本内容,再根据条码内容输出识别结果;若条码内容只识别到起始字符,则对OCR识别结果进行打分,并根据打分结果进行识别结果输出。
上述方案虽然采用对OCR识别结果进行打分的方法来提高字符识别的准确度,但对于条码残缺和条码遮挡等情况,OCR识别结果的得分不高,虽然能够保证条码识别输出结果的可靠性,即最终识别得到的条码信息的准确度,但在图像质量不良、条码残缺等特殊情况下的解码成功率仍然无法保证。
发明内容
为克服相关技术中存在的问题,本申请提供一种条码信息识别方法,能够提高图像质量不良、条码残缺等特殊情况下的解码成功率。
本申请第一方面提供一种条码信息识别方法,包括:
获取条码字符图像;
基于所述条码字符图像得到每个字符的字符外接矩形;
根据所述字符外接矩形对每个字符依次进行字符质量检测,得到目标字符;所述字符质量检测包括:提取当前字符的字符外接矩形内的黑色连通域;计算当前字符的字符外接矩形内的黑色连通域数;判断所述黑色连通域数是否大于一,若是,则对当前字符执行字符修复,得到目标字符;若否,则将当前字符作为目标字符;
将所述目标字符合并得到目标字符串;
利用OCR技术识别所述目标字符串,得到条码信息。
在一种实施方式中,所述基于所述条码字符图像得到每个字符的字符外接矩形,包括:
对所述条码字符图像进行离散化处理,得到若干个黑色区域;
基于所述若干个黑色区域生成若干个区域外接矩形;
对所述若干个区域外接矩形进行矩形膨胀;
对矩形膨胀后的若干个区域外接矩形进行离散化处理,得到每个字符的字符外接矩形。
在一种实施方式中,所述对当前字符执行字符修复,得到目标字符,包括:
对所述字符外接矩形内的每个黑色连通域以邻域生长方式进行膨胀;
重新执行提取当前字符的字符外接矩形内的黑色连通域的步骤,直至所述黑色连通域数小于或等于一。
在一种实施方式中,所述对所述字符外接矩形内的每个黑色连通域以邻域生长方式进行膨胀,其中,对一个黑色连通域以邻域生长方式进行膨胀,包括:
计算得到当前黑色连通域的相邻连通域;所述相邻连通域为所述字符外接矩形内与当前黑色连通域边界距离最小的黑色连通域;
对当前黑色连通域以生长步长沿生长方向进行膨胀;所述生长步长等于所述相邻连通域与当前黑色连通域的边界距离;所述生长方向为当前黑色连通域与所述相邻连通域之间像素距离最短的两个像素点的连线方向。
在一种实施方式中,所述提取当前字符的字符外接矩形内的黑色连通域之后,包括:
对当前字符的字符外接矩形内的黑色连通域进行形态判断,若存在黑色连通域满足预设形态条件,则将满足预设形态条件的黑色连通域分割出来,在得到目标字符之后,作为补充字符合并至所述目标字符;若不存在黑色连通域满足预设形态条件,则执行基于所述黑色连通域得到所述字符外接矩形内的黑色连通域数的步骤,直至得到目标字符;
所述预设形态条件,包括:所述黑色连通域的圆度取值范围为0.9至1.1。
在一种实施方式中,所述获取条码字符图像,包括:
获取条码识别图像;
基于所述条码识别图像计算得到条码图形区域;
对所述条码图形区域进行膨胀处理,得到全条码区域;
利用所述条码图形区域和所述全条码区域得到条码字符区域;
基于所述条码字符区域进行黑色区域提取,得到所述条码字符图像。
在一种实施方式中,所述基于所述条码识别图像计算得到条码图形区域,包括:
基于条棒形态特征对所述条码识别图像进行特征比对,得到条码图形区域。
在一种实施方式中,所述利用所述条码图形区域和所述全条码区域得到条码字符区域,包括:
利用halcon区域运算算法,将所述全条码区域减去所述条码图形区域,得到所述条码字符区域。
在一种实施方式中,所述获取条码字符图像之前,包括:
利用解码算法对条码图形进行条码信息提取,若解码成功,则识别得到条码信息;
否则利用OCR技术对条码字符进行条码信息识别,若识别成功,则识别得到条码信息;
否则执行获取条码字符图像的步骤。
本申请第二方面提供一种电子设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上任一项所述的方法。
本申请提供的技术方案可以包括以下有益效果:
本申请预先将条码字符图像按照字符进行离散化处理,得到单个字符的字符外接矩形,进而根据字符外接矩形即可对单个字符进行字符质量检测。由于一维码的条码信息内容是由阿拉伯数字或英文字符组成的,其共同特征在于字符笔画都是连贯的,因此,满足条码识别质量要求的字符,即一个完整的字符,其所在字符外接矩形的黑色连通域的数量应为一。本申请利用离散化处理将条码字符图像分割为若干个字符外接矩形后,对各个字符外接矩形内的黑色连通域进行提取和计数,若黑色连通域数大于一,则说明该字符外接矩形内的字符有缺损,则对其进行字符修复,直至该字符外接矩形内的黑色连通域数为一,此时,缺损的字符修复完整,即得到目标字符,将每个字符外接矩形对应的目标字符进行合并即可得到修复完整的目标字符串,此时再利用OCR技术进行条码识别,能够大幅度地提升解码成功率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过结合附图对本申请示例性实施方式进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
图1是本申请实施例示出的条码信息识别方法的流程示意图;
图2是本申请实施例示出的字符外接矩形提取方法的流程示意图;
图3是本申请实施例示出的字符修复方法的流程示意图;
图4是本申请实施例示出的具有小写字母的条码信息的识别方法的流程示意图;
图5是本申请实施例示出的条码信息识别方法的另一流程示意图;
图6是本申请实施例示出的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的优选实施方式。虽然附图中显示了本申请的优选实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
实施例一
公开号为CN111738031B的专利文件虽然采用对OCR识别结果进行打分的方法来提高字符识别的准确度,但对于条码残缺和条码遮挡等情况,OCR识别结果的得分不高,虽然能够保证条码识别输出结果的可靠性,即最终识别得到的条码信息的准确度,但在图像质量不良、条码残缺等特殊情况下的解码成功率仍然无法保证。
针对上述问题,本申请实施例提供一种条码信息识别方法,能够提高图像质量不良、条码残缺等特殊情况下的解码成功率。
以下结合附图详细描述本申请实施例的技术方案。
图1是本申请实施例示出的条码信息识别方法的流程示意图。
参见图1,所述条码信息识别方法,包括:
101、获取条码字符图像;
在本申请实施例中,可以利用CCD相机或CMOS相机进行条码字符图像的采集,此处不作限定。
在实际应用过程中,为了提高条码字符图像的图像质量,可以对采集得到的条码字符图像进行图像预处理,包括但不限于:图像均衡化、图像光照补偿或图像滤波。
102、基于条码字符图像得到每个字符的字符外接矩形;
在本申请实施例中,由于条码字符中各个字符的尺寸相对统一,因此,可以采用平均分割算法,根据验证码中字符的个数,平均计算出两个相邻字符的间隔点,沿间隔点垂直进行分割后,根据统一的字符尺寸得到每个字符的字符外接矩形;
或利用投影分割算法,统计二值化之后的图像在水平或垂直方向黑色像素点出现的次数,根据统计值制作出对应直方图,直方图中波谷值为零的点即为两个字符的间隔点,然后再利用K-means聚类算法进行分类,将属于同一字符的分割区域分类为同一簇,进而得到各个字符的外接矩形。
在实际应用过程中,还可以采用其他算法计算得到每个字符的字符外接矩形,例如利用离散化处理得到各连通域的外接矩形后,结合矩形膨胀得到每个字符的字符外接矩形。
可以理解的是,本申请实施例对于采用的字符外接矩形的算法并没有严格的限定,即上述关于字符外接矩形的算法的描述不必作为对本申请的唯一限定。
103、根据字符外接矩形对每个字符依次进行字符质量检测,得到目标字符;
示例性的,字符质量检测包括:
提取当前字符的字符外接矩形内的黑色连通域;
计算当前字符的字符外接矩形内的黑色连通域数;
判断所述黑色连通域数是否大于一,若是,则对当前字符执行字符修复,得到目标字符;若否,则将当前字符作为目标字符。
在本申请实施例中,由于一维码的条码字符部分是由阿拉伯数字或英文字符组成的,其共同特征在于,字符笔画都是连贯的,即单个字符对应一个连通域,因此,对条码字符进行单个字符分割后,判断每个字符外接矩形的黑色连通域数即可判断出该字符是否完整,若黑色连通域数大于一,则可认定该字符缺损,导致字符不连贯;若黑色连通域数等于一,则该字符为完整字符。
当对每个字符的字符外接矩形均执行完上述字符质量检测,且每个字符外接矩形均满足有且仅有一个黑色连通域时,即可认为条码字符中的每个字符均为完整字符,即目标字符,然后通过下述步骤104和步骤105完成条码信息的识别。
104、将目标字符合并得到目标字符串;
在本申请实施例中,利用区域运算算法对上述各目标字符进行并集运算,即可得到上述各目标字符组成的字符串,即该条码的条码字符部分。
需要说明的是,其他能够实现目标字符并集运算的算法也适用于本方案,此处不再赘述。
105、利用OCR技术识别目标字符串,得到条码信息。
在本申请实施例中,OCR是指光学字符识别(OCR,Optical CharacterRecognition),其为利用电子设备(例如扫描仪或数码相机)检查图像上的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。因此,对于OCR技术而言,字符质量的高低将影响识别结果的可靠性和解码的成功率。
在本申请实施例中,经过上述步骤101至步骤104,能够实现对原条码字符的质量检测,并对破损残缺的字符进行修复,进而提高用于识别的条码字符的质量,从而保证OCR识别结果的成功率和正确率。
在实际应用过程中,可以采用以下任一种或多种OCR技术进行条码字符的信息识别:端到端文本识别(End-to-End Text Spotting)和PSENet文本检测算法。
可以理解的是,还可以采用除上述之外的OCR技术应用于本方案,此处不再赘述。
本申请实施例预先将条码字符图像按照字符进行离散化处理,得到单个字符的字符外接矩形,进而根据字符外接矩形即可对单个字符进行字符质量检测。由于一维码的条码信息内容是由阿拉伯数字或英文字符组成的,其共同特征在于字符笔画都是连贯的,因此,满足条码识别质量要求的字符,即一个完整的字符,其所在字符外接矩形的黑色连通域的数量应为一。本申请利用离散化处理将条码字符图像分割为若干个字符外接矩形后,对各个字符外接矩形内的黑色连通域进行提取和计数,若黑色连通域数大于一,则说明该字符外接矩形内的字符有缺损,则对其进行字符修复,直至该字符外接矩形内的黑色连通域数为一,此时,缺损的字符修复完整,即得到目标字符,将每个字符外接矩形对应的目标字符进行合并即可得到修复完整的目标字符串,此时再利用OCR技术进行条码识别,能够大幅度地提升解码成功率。
实施例二
本申请实施例对上述实施例一中的步骤102进行了设计,通过离散化处理获取每个字符的字符外接矩形,以便于对单个字符区域进行精准字符修复,提高字符修复的可靠性。
以下结合附图详细描述本申请实施例的技术方案。
图2是本申请实施例示出的字符外接矩形提取方法的流程示意图。
所述字符外接矩形提取方法,包括:
201、对条码字符图像进行离散化处理,得到若干个黑色区域;
在本申请实施例中,由于各字符之间存在间隙,因此,对条码字符图像执行图像离散化处理后,能够得到若干个黑色区域;而对于缺损的单个字符,分离开的字符部分经过离散化处理过后,也会被分割成若干个黑色区域。
202、基于若干个黑色区域生成若干个区域外接矩形;
在实际应用过程中,可以通过调用Opencv的minAreaRect函数或boundingRect函数求解得到若干个黑色区域的最小外接矩形,即上述区域外接矩形。
203、对若干个区域外接矩形进行矩形膨胀;
在本申请实施例中,针对属于同一字符的若干黑色区域,通过对其区域外接矩形进行矩形膨胀,使得间隔小于间隔阈值的区域外接矩形相接连通,进而将属于同一字符的若干黑色区域框入同一矩形区域中。
204、对矩形膨胀后的若干个区域外接矩形进行离散化处理,得到每个字符的字符外接矩形。
为了避免在上述步骤203中,将不属于同一字符的黑色区域的区域外接矩形连通,且同一字符的若干黑色区域的区域外接矩形连通后的形状不规则,还需对矩形膨胀后的若干个区域外接矩形进行离散化处理,以得到每个字符的字符外接矩形。
在本申请实施例中,最小外接矩形的计算方法已经在步骤202中进行了说明,此处不再赘述。
本申请实施例利用离散化处理结合矩形膨胀,对条码字符图像中的单个字符进行分割,得到各个字符的字符外接矩形,以便于对各个字符外接矩形内的黑色连通域进行提取和计数,进而通过各个字符外接矩形内的黑色连通域数判断字符是否完整,从而确定是否需要对字符进行修复,以保证后续条码字符识别的正确率和成功率。
实施例三
本申请实施例对实施例一中的步骤103进行了设计,采用邻域生长方式对缺损字符进行修复,得到目标字符。
以下结合附图详细描述本申请实施例的技术方案。
图3是本申请实施例示出的字符修复方法的流程示意图。
所述字符修复方法,包括:
301、提取当前字符的字符外接矩形内的黑色连通域;
在本申请实施例中,利用深度优先搜索或广度优先搜索对图像进行遍历,对邻接像素中灰度值未发生变化的像素点进行连通域标记,进而形成连通域,其中,邻接像素的邻接关系可以采用4邻接和8邻接中的任一种。
在本申请实施例中,可以基于邻接像素的灰度值差异进行标记判定;或直接基于像素点的灰度值进行标记判定,具体为:若当前像素点的灰度值为0,则标记当前像素点。
302、计算当前字符的字符外接矩形内的黑色连通域数;
303、判断黑色连通域数是否大于一;
若是,则执行步骤304后返回执行步骤301;
若否,则执行步骤305。
由于一维码的条码字符部分是由阿拉伯数字或英文字符组成的,其共同特征在于,字符笔画都是连贯的,即单个字符对应一个连通域,因此,判断每个字符外接矩形的黑色连通域数即可判断出该字符是否完整,若黑色连通域数大于一,则该字符缺损;若黑色连通域数等于一,则该字符为完整字符。
304、对字符外接矩形内的每个黑色连通域以邻域生长方式进行膨胀;
在本申请实施例中,以对一个黑色连通域以邻域生长方式进行膨胀为例:
计算得到当前黑色连通域的相邻连通域;
对当前黑色连通域以生长步长沿生长方向进行膨胀。
其中,相邻连通域为字符外接矩形内与当前黑色连通域边界距离最小的黑色连通域;生长步长等于相邻连通域与当前黑色连通域的边界距离;生长方向为当前黑色连通域与相邻连通域之间像素距离最短的两个像素点的连线方向。
在本申请实施例中,边界距离可以设置为两个黑色连通域之间最短的像素距离或为两个黑色连通域的最小外接矩形之间矩形边界的最短距离。
在实际应用过程中,亦可依据实际情况对生长步长进行调整。
在本申请实施例中,按照上述以邻域生长方式进行字符修复后,即执行步骤304后,重新执行提取当前字符的字符外接矩形内的黑色连通域的步骤,即步骤301,直至所述黑色连通域数小于或等于一。
305、将当前字符作为目标字符。
在本申请实施例中,当所有的字符外接矩形中的黑色连通域数均小于或等于一后,即可得到所有字符对应的目标字符,通过该些目标字符能够得到便于识别的目标字符串。
其中,目标字符指的是完整字符。
本申请实施例提供了一种字符修复方法,对字符外接矩形内的每个黑色连通域以邻域生长方式,沿生长方向按照生长步长进行膨胀,直至该字符外接矩形内有且仅有一个黑色连通域,从而保证每个字符的完整度,基于完整的目标字符得到识别准确度高的目标字符串,进而提升条码信息识别的正确率和成功率。
实施例四
在实际条码识别过程中,由于条码多由阿拉伯数字及大写英文字母组成,而阿拉伯数字及大写英文字母均由单一连通域构成,因此,当字符外接矩形的黑色连通域的数量为一,即可认为字符完整;但针对特殊的采用小写字母构建条码的情况,本申请实施例给出了一种条码识别方法,以解决小写字母中“i”和“j”具有两个连通域的字符的条码识别问题。
以下结合附图详细描述本申请实施例的技术方案。
图4是本申请实施例示出的具有小写字母的条码信息的识别方法的流程示意图。
所述具有小写字母的条码信息识别方法,包括:
401、获取条码字符图像;
在本申请实施例中,步骤401的内容与上述实施例一中的步骤101一致,此处不再赘述。
402、基于条码字符图像得到每个字符的字符外接矩形;
在本申请实施例中,步骤402的内容与上述实施例一中的步骤102一致,此处不再赘述。
403、提取当前字符的字符外接矩形内的黑色连通域;
在本申请实施例中,步骤401的内容与上述实施例三中的步骤301一致,此处不再赘述。
404、对当前字符的字符外接矩形内的黑色连通域进行形态判断,判断是否存在黑色连通域满足预设形态条件;
具体的:
若存在黑色连通域满足预设形态条件,则依次执行步骤405、步骤406、步骤407和步骤408;
若不存在黑色连通域满足预设形态条件,则依次执行步骤406和步骤407。
在本申请实施例中,若存在黑色连通域满足预设形态条件,则说明条码字符中存在字符“i”和“j”,为了避免上述两个特殊字符造成的字符质量检测的误判,需要对其进行预处理后,再执行黑色连通域数的判断步骤;若不存在黑色连通域满足预设形态条件,则说明条码字符中不存在字符“i”和“j”,因此,按照正常的字符质量检测步骤对条码字符进行处理即可。
其中,所述预设形态条件,包括:所述黑色连通域的圆度取值范围为0.9至1.1。
由于字母“i”和字母“j”的字符特征为均含有黑色圆点部分,因此,在提取字符外接矩形内的黑色连通域后,对每个黑色连通域进行判断,若存在近圆形的黑色连通域,具体地,可以通过判断黑色连通域的圆度来判定是否为近圆形的黑色连通域,则可认为检测到字母“i”和字母“j”的黑色圆点部分,从而判断该字符为具有两个黑色连通域的字符“i”和“j”。
405、将满足预设形态条件的黑色连通域分割出来;
由于近圆形的黑色连通域不与其他同属一个字符的黑色连通域连通,因此,会对后续字符质量检测过程带来影响,导致系统误判其为不完整字符,因此,预先将该黑色圆点部分分割出来,仅对非圆点部分进行判断,避免误判情况发生。
406、计算当前字符的字符外接矩形内的黑色连通域数;
407、判断黑色连通域数是否大于一;若是,则对当前字符执行字符修复,得到目标字符;若否,则将当前字符作为目标字符。
其中,字符修复的内容已经在实施例三中进行了详细阐述,此处不再赘述。
408、对目标字符进行更新。
具体为:将步骤405中分割出来的黑色连通域作为补充字符合并至所述目标字符,作为更新后的目标字符。
本申请实施例针对具有小写字母的条码进行了条码信息识别方法的设计,尤其是针对“i”和“j”这两种特征的字符,对条码信息识别方法进行了改进,先对当前字符的字符外接矩形内的黑色连通域进行形态判断,识别是否具有黑色圆点部分,从而判断该条码字符中是否具有字符“i”或“j”,对于具有字符“i”或“j”的条码字符先将黑色圆点部分分割出来,对非圆点部分进行连通域数量的检测,避免黑色圆点部分引入的误差,从而避免字符质量检测误判,有效解决具有小写字母的条码信息识别问题。
实施例五
在实际条码信息识别过程中,并非所有的条码都会发生破损脏污的问题,对于完整的条码,无需对其进行修复即可识别成功,因此,为了提高识别效率,避免非必要的处理过程,在对条码信息执行如实施例一所示的处理前,先利用解码算法和OCR技术对条码是否为完整条码进行判断。
图5是本申请实施例示出的条码信息识别方法的另一流程示意图。
参见图5,本申请实施例所示的条码信息识别方法,包括:
501、利用解码算法对条码图形进行条码信息提取;
若解码成功,则执行步骤505;
若解码失败,则执行步骤502。
在本申请实施例中,采用的解码算法并不唯一,可以依据实际情况进行调整。
502、利用OCR技术对条码字符进行条码信息识别;
若识别成功,则执行步骤505;
若识别失败,则执行步骤503。
在本申请实施例中,采用的OCR技术并不唯一,可以依据实际情况进行调整,例如:端到端文本识别(End-to-End Text Spotting)或PSENet文本检测算法。
503、获取条码字符图像;
示例性的:
获取条码识别图像;
基于所述条码识别图像计算得到条码图形区域;
对所述条码图形区域进行膨胀处理,得到全条码区域;
利用所述条码图形区域和所述全条码区域得到条码字符区域;
基于所述条码字符区域进行黑色区域提取,得到所述条码字符图像。
在本申请实施例中,条码图形区域可以通过特征对比算法在条码识别图像中提取出条码图形区域,由于一维码的条码图形区域具有明显的条棒形态特征,因此,在本申请实施例中,基于条棒形态特征对所述条码识别图像进行特征比对,得到条码图形区域。
由于一维码的条码图形是由数个宽度不同的黑色竖线组成的,其在形态上显示为多个条棒状黑色区域,即条棒形态特征,因此,基于条棒形态特征能够通过特征对比在条码识别图像中得到条码图形区域。
在本申请实施例中,所述利用所述条码图形区域和所述全条码区域得到条码字符区域,具体包括:利用halcon区域运算算法,将所述全条码区域减去所述条码图形区域,得到所述条码字符区域。
需要说明的是,上述对于条码字符图像的具体获取过程仅是本申请实施例中给出的一种示例,不必构成对本申请的唯一限定。
504、基于条码字符图像得到目标字符串;
在本申请实施例中,步骤504的内容已经在上述实施例一至四中进行了详细的说明,此处不再赘述。
505、利用OCR技术识别得到条码信息。
在本申请实施例中,步骤505的内容与上述实施例一中的步骤105一致,此处不再赘述。
本申请实施例先利用解码算法和OCR技术对条码进行条码信息识别,当解码算法和OCR技术均无法成功解码,说明条码具有图像质量不良或条码残缺等问题时,方采用上述实施例一所示的条码信息识别方法进行条码信息识别,从而提高条码信息识别的效率,避免对高质量条码进行字符质量检测,降低了条码信息的识别效率。
实施例六
与前述应用功能实现方法实施例相对应,本申请还提供了一种电子设备及相应的实施例。
图6是本申请实施例示出的电子设备的结构示意图。
参见图6,电子设备1000包括存储器1010和处理器1020。
处理器1020可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器1010可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器1020或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器1010可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1010可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器1010上存储有可执行代码,当可执行代码被处理器1020处理时,可以使处理器1020执行上文述及的方法中的部分或全部。
上文中已经参考附图详细描述了本申请的方案。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。本领域技术人员也应该知悉,说明书中所涉及的动作和模块并不一定是本申请所必须的。另外,可以理解,本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或电子设备、服务器等)的处理器执行时,使所述处理器执行根据本申请的上述方法的各个步骤的部分或全部。
本领域技术人员还将明白的是,结合这里的申请所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本申请的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种条码信息识别方法,其特征在于,包括:
获取条码字符图像;
基于所述条码字符图像得到每个字符的字符外接矩形;
根据所述字符外接矩形对每个字符依次进行字符质量检测,得到目标字符;所述字符质量检测包括:提取当前字符的字符外接矩形内的黑色连通域;计算当前字符的字符外接矩形内的黑色连通域数;判断所述黑色连通域数是否大于一,若是,则对当前字符执行字符修复,得到目标字符;若否,则将当前字符作为目标字符;
将所述目标字符合并得到目标字符串;
利用OCR技术识别所述目标字符串,得到条码信息。
2.根据权利要求1所述的条码信息识别方法,其特征在于,
所述基于所述条码字符图像得到每个字符的字符外接矩形,包括:
对所述条码字符图像进行离散化处理,得到若干个黑色区域;
基于所述若干个黑色区域生成若干个区域外接矩形;
对所述若干个区域外接矩形进行矩形膨胀;
对矩形膨胀后的若干个区域外接矩形进行离散化处理,得到每个字符的字符外接矩形。
3.根据权利要求1所述的条码信息识别方法,其特征在于,
所述对当前字符执行字符修复,得到目标字符,包括:
对所述字符外接矩形内的每个黑色连通域以邻域生长方式进行膨胀;
重新执行提取当前字符的字符外接矩形内的黑色连通域的步骤,直至所述黑色连通域数小于或等于一。
4.根据权利要求3所述的条码信息识别方法,其特征在于,
所述对所述字符外接矩形内的每个黑色连通域以邻域生长方式进行膨胀,其中,对一个黑色连通域以邻域生长方式进行膨胀,包括:
计算得到当前黑色连通域的相邻连通域;所述相邻连通域为所述字符外接矩形内与当前黑色连通域边界距离最小的黑色连通域;
对当前黑色连通域以生长步长沿生长方向进行膨胀;所述生长步长等于所述相邻连通域与当前黑色连通域的边界距离;所述生长方向为当前黑色连通域与所述相邻连通域之间像素距离最短的两个像素点的连线方向。
5.根据权利要求1所述的条码信息识别方法,其特征在于,
所述提取当前字符的字符外接矩形内的黑色连通域之后,包括:
对当前字符的字符外接矩形内的黑色连通域进行形态判断,若存在黑色连通域满足预设形态条件,则将满足预设形态条件的黑色连通域分割出来,在得到目标字符之后,作为补充字符合并至所述目标字符;若不存在黑色连通域满足预设形态条件,则执行基于所述黑色连通域得到所述字符外接矩形内的黑色连通域数的步骤,直至得到目标字符;
所述预设形态条件,包括:所述黑色连通域的圆度取值范围为0.9至1.1。
6.根据权利要求1所述的条码信息识别方法,其特征在于,
所述获取条码字符图像,包括:
获取条码识别图像;
基于所述条码识别图像计算得到条码图形区域;
对所述条码图形区域进行膨胀处理,得到全条码区域;
利用所述条码图形区域和所述全条码区域得到条码字符区域;
基于所述条码字符区域进行黑色区域提取,得到所述条码字符图像。
7.根据权利要求6所述的条码信息识别方法,其特征在于,
所述基于所述条码识别图像计算得到条码图形区域,包括:
基于条棒形态特征对所述条码识别图像进行特征比对,得到条码图形区域。
8.根据权利要求6所述的条码信息识别方法,其特征在于,
所述利用所述条码图形区域和所述全条码区域得到条码字符区域,包括:
利用halcon区域运算算法,将所述全条码区域减去所述条码图形区域,得到所述条码字符区域。
9.根据权利要求1所述的条码信息识别方法,其特征在于,
所述获取条码字符图像之前,包括:
利用解码算法对条码图形进行条码信息提取,若解码成功,则识别得到条码信息;
否则利用OCR技术对条码字符进行条码信息识别,若识别成功,则识别得到条码信息;
否则执行获取条码字符图像的步骤。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-9中任一项所述的方法。
CN202111256684.8A 2021-10-27 2021-10-27 条码信息识别方法及电子设备 Pending CN114169352A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111256684.8A CN114169352A (zh) 2021-10-27 2021-10-27 条码信息识别方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111256684.8A CN114169352A (zh) 2021-10-27 2021-10-27 条码信息识别方法及电子设备

Publications (1)

Publication Number Publication Date
CN114169352A true CN114169352A (zh) 2022-03-11

Family

ID=80477403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111256684.8A Pending CN114169352A (zh) 2021-10-27 2021-10-27 条码信息识别方法及电子设备

Country Status (1)

Country Link
CN (1) CN114169352A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593653A (zh) * 2013-11-01 2014-02-19 浙江工业大学 基于扫描枪的字符二维条码识别方法
CN106650553A (zh) * 2015-10-30 2017-05-10 比亚迪股份有限公司 车牌识别方法及系统
CN107240185A (zh) * 2017-06-23 2017-10-10 深圳怡化电脑股份有限公司 一种冠字号识别方法、装置、设备及存储介质
US20180260652A1 (en) * 2017-02-27 2018-09-13 I.R.I.S. Computer implemented method and system for optical character recognition
CN111368574A (zh) * 2020-03-06 2020-07-03 联想(北京)有限公司 一种条形码识别方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593653A (zh) * 2013-11-01 2014-02-19 浙江工业大学 基于扫描枪的字符二维条码识别方法
CN106650553A (zh) * 2015-10-30 2017-05-10 比亚迪股份有限公司 车牌识别方法及系统
US20180260652A1 (en) * 2017-02-27 2018-09-13 I.R.I.S. Computer implemented method and system for optical character recognition
CN107240185A (zh) * 2017-06-23 2017-10-10 深圳怡化电脑股份有限公司 一种冠字号识别方法、装置、设备及存储介质
CN111368574A (zh) * 2020-03-06 2020-07-03 联想(北京)有限公司 一种条形码识别方法及装置

Similar Documents

Publication Publication Date Title
US9053361B2 (en) Identifying regions of text to merge in a natural image or video frame
CN106960208B (zh) 一种仪表液晶数字自动切分和识别的方法及系统
US5410611A (en) Method for identifying word bounding boxes in text
JP4626886B2 (ja) デジタル画像におけるキャプションを位置特定及び抽出する方法及び装置
CN110276295B (zh) 车辆识别号码检测识别方法及设备
CN101122953A (zh) 一种图片文字分割的方法
JP2002133426A (ja) 多値画像から罫線を抽出する罫線抽出装置
JP2010123090A (ja) 文字列認識方法及び文字列認識装置
CN114897806A (zh) 缺陷检测方法、电子设备及计算机可读存储介质
CN111652208A (zh) 用户界面组件的识别方法、装置、电子设备及存储介质
CN115170501A (zh) 缺陷检测方法、系统、电子设备及存储介质
CN111814673A (zh) 一种修正文本检测边界框的方法、装置、设备及存储介质
CN115775246A (zh) 一种pcb元器件缺陷检测的方法
CN112200053B (zh) 一种融合局部特征的表格识别方法
CN114078109A (zh) 图像处理方法、电子装置和存储介质
CN114169352A (zh) 条码信息识别方法及电子设备
Song et al. A robust statistic method for classifying color polarity of video text
CN113538418A (zh) 基于形态学分析的轮胎x射线图像缺陷提取模型构建方法
JP2005250786A (ja) 画像認識方法
CN111814780A (zh) 一种票据图像处理方法、装置、设备及存储介质
CN112434700A (zh) 车牌识别方法、装置、设备及存储介质
JP2000357287A (ja) ナンバープレート認識方法および認識装置
CN117576416B (zh) 工件边缘区域的检测方法、设备及存储介质
JP3220226B2 (ja) 文字列方向判別方法
US20230394645A1 (en) System and method for computer inspection of surface-mount devices

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