CN110245536B - 条码识别方法 - Google Patents

条码识别方法 Download PDF

Info

Publication number
CN110245536B
CN110245536B CN201910382518.9A CN201910382518A CN110245536B CN 110245536 B CN110245536 B CN 110245536B CN 201910382518 A CN201910382518 A CN 201910382518A CN 110245536 B CN110245536 B CN 110245536B
Authority
CN
China
Prior art keywords
projection
bar code
horizontal
vertical
similarity
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
Application number
CN201910382518.9A
Other languages
English (en)
Other versions
CN110245536A (zh
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.)
Shenzhen Yingda Information Technology Co ltd
Original Assignee
Shenzhen Yingda Information Technology 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 Shenzhen Yingda Information Technology Co ltd filed Critical Shenzhen Yingda Information Technology Co ltd
Priority to CN202410011560.0A priority Critical patent/CN117952135A/zh
Priority to CN201910382518.9A priority patent/CN110245536B/zh
Publication of CN110245536A publication Critical patent/CN110245536A/zh
Application granted granted Critical
Publication of CN110245536B publication Critical patent/CN110245536B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1452Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges
    • 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/1456Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore
    • 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/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1486Setting the threshold-width for bar codes to be decoded

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种条码识别方法,该方法包括:获取条码的灰度图像;对所述灰度图像进行定位,并提取所述灰度图像中的条码图像;对所述条码图像进行二值化处理,以获取所述条码的二值化图像;对所述二值化图像分别沿水平方向和垂直方向进行投影,得到二值化图像的水平方向投影和垂直方向投影;分别对所述水平方向投影和所述垂直方向投影进行特征提取,得到投影特征;根据所述投影特征确定所述条码的类型,从而达到快速且准确地识别条码的类型的目的。

Description

条码识别方法
技术领域
本发明涉及图像识别领域,尤其涉及一种条码识别方法。
背景技术
条码识别领域主要将条码识别分为条码采集、图像预处理、条码定位和条码识别四部分。条码通常由镜头与图像传感器配合来采集;图像预处理则通常采用数字图像处理技术进行去噪和去模糊等优化处理,这方面有大量的现有技术供参考;条码定位即是利用条码本身独特的结构特点将其从图像中提取出来;条码识别则是根据不同码制的编码规则解译条码所携带的数字信息。
传统的条码识别方法需要将采集到的条码与解码库中各种不同码制的条码去对照,直至解码成功,这种解码方法通常需要遍历各种码制的一维码或二维码,效率低下。
针对以上问题,业内提出了根据条码区域的几何特征如长宽比来区分一维码和二维码。这种方法仅利用了一维码区域更趋向于长方形以及二维码区域更趋于正方形的特性,区分方法比较简单,容易出现错误区分,从而导致识别率下降。
由此,业界又提出了检测直线技术:在边缘检测后的二值图上(仅限前景区域),沿着某个方向寻找某直线段上的像素点,当像素点的个数达到一定的阈值50即视为找到一条直线。继续沿着相同方向寻找直线,当检测到的直线条数达到一定的阈值7,即认为该图像为一维条码,否则为二维码。比较遗憾的是,这种检测方法并没有将PDF417码等国际上应用广泛的堆叠式二维码考虑在内,在沿着PDF417码的纵向检测时,会检测到多于7条直线而将PDF417码判断为一维条码,出现错误,导致无法解码;且这种检测方法同样会将新型的混合码误判成一维条码,出现错误,导致无法解码,导致整个解码效率较低,故而该检测直线技术具有较大的局限性。
发明内容
针对背景技术所面临的问题,本发明创作的目的在于提供一种根据条码的二值化图像在水平方向投影和垂直方向投影的特征来识别条码。
为实现上述目的,本发明采用以下技术手段:
第一方面:本发明提供一种条码识别方法,以应用于条码类型的识别系统的识别装置,该方法包括以下步骤:
获取条码的灰度图像;
对所述灰度图像进行定位,并提取所述灰度图像中的条码图像;
将所述条码图像二值化处理,以获取所述条码的二值化图像;
对所述二值化图像分别沿水平方向和垂直方向进行投影,得到二值化图像的水平方向投影和垂直方向投影;
分别对所述水平方向投影和所述垂直方向投影进行特征提取,得到投影特征;
根据所述投影特征确定所述条码的类型。
可选地,分别对所述水平方向投影和所述垂直方向投影进行特征提取,得到投影特征,包括:
沿水平方向对所述水平方向投影进行直线扫描;
统计扫描直线同时穿过的黑条数或白条数的数量X;
沿垂直方向对所述垂直方向投影进行直线扫描;
统计扫描直线同时穿过的黑条数或白条数的数量Y;
将所述黑条数或白条数的数量X,与所述黑条数或白条数的数量Y作为所述投影特征。
可选地,所述根据所述投影特征确定所述条码的类型,包括:
分析所述X与所述Y的数量关系;
比较所述X的最大值Xmax与所述Y的最大值Ymax的大小;
计算所述最大值Xmax与所述最大值Ymax之间较大值与较小值的比值,得到特征值N;
将所述特征值N与第一预设阈值进行比较,以确定条码的类型。
可选地,将特征值N与第一预设阈值进行比较,以确定条码以识别条码的类型,包括:
若所述特征值N大于所述第一预设阈值,则确定所述条码为一维码;
若所述特征值N小于所述第一预设阈值,则确定所述条码为二维码。
可选地,所述第一预设阈值大于等于2且小于等于7。
可选地,所述第一预设阈值为7,若所述特征值N介于1和2之间,则确定所述条码为矩阵式二维码;若所述特征值N介于2和7之间,则确定所述条码为堆叠式二维码。
可选地,若确定所述条码为二维码,若X的最小值Xmin或Y的最小值Ymin小于等于2,则确定所述条码为矩阵式二维码;若所述最小值Xmin或所述最小值Ymin大于2,则确定所述条码为堆叠式二维码。
可选地,所述分别对水平方向投影和垂直方向投影进行特征提取,包括:
检测所述水平方向投影与所述二值化图像的相似度,得到水平相似度;
检测所述垂直方向投影与所述二值化图像的相似度,得到垂直相似度;
将所述水平相似度和所述垂直相似度作为所述投影特征。
可选地,所述水平方向投影与所述二值化图像的重合度为所述水平相似度,所述垂直方向投影与所述二值化图像的重合度为所述垂直相似度,所述根据所述投影特征确定所述条码的类型,包括:
若所述水平相似度或所述垂直相似度达到第二预设阈值,则确定所述条码为一维码;
若所述水平相似度或所述垂直相似度未达到所述第二预设阈值,则确定所述条码为二维码。
可选地,所述水平方向投影与所述二值化图像的黑块的重合度为所述水平相似度,所述垂直方向投影与所述二值化图像的黑块的重合度为垂直相似度,所述根据所述投影特征确定所述条码的类型,包括:
若所述水平相似度或所述垂直相似度达到第二预设阈值,则确定所述条码为一维码;
若所述水平相似度或所述垂直相似度未达到所述第二预设阈值,则确定所述条码为二维码。
第二方面:本发明提供一种条码识别装置,所述装置包括:
获取模块,用于获取条码的灰度图像;
定位模块,用于对所述灰度图像进行定位,并提取所述灰度图像中的条码图像;
二值化模块,用于将所述条码图像二值化处理,以获取所述条码的二值化图像;
投影模块,用于对所述二值化图像分别沿水平方向和垂直方向进行投影,得到二值化图像的水平方向投影和垂直方向投影;
特征提取模块,用于分别对所述水平方向投影和所述垂直方向投影进行特征提取,得到投影特征;
确定模块,用于根据所述投影特征确定所述条码的类型。
可选地,所述特征提取模块包括:
第一扫描单元,用于沿水平方向对所述水平方向投影进行直线扫描;
第一统计单元,用于统计扫描直线同时穿过的黑条数或白条数的数量X;
第二扫描单元,用于沿垂直方向对所述垂直方向投影进行直线扫描;
第二统计单元,用于统计扫描直线同时穿过的黑条数或白条数的数量Y;
特征确定单元,用于将所述黑条数或白条数的数量X,与所述黑条数或白条数的数量Y作为所述投影特征。
可选地,所述确定模块,包括:
分析单元,用于分析所述X与所述Y的数量关系;
第一比较单元,用于比较所述X的最大值Xmax与所述Y的最大值Ymax的大小;
计算单元,用于计算所述最大值Xmax与所述最大值Ymax之间较大值与较小值的比值,得到特征值N;
第二比较单元,用于将所述特征值N与第一预设阈值进行比较,以确定条码的类型。
可选地,所述第二比较单元,包括:
第一确定子单元,用于若所述特征值N大于所述第一预设阈值,则确定所述条码为一维码;
第二确定子单元,用于若所述特征值N小于所述第一预设阈值,则确定所述条码为二维码。
可选地,所述第一预设阈值为7,所述第二比较单元,包括:
第三确定子单元,用于若所述特征值N介于1和2之间,则确定所述条码为矩阵式二维码;
第四确定子单元,用于若所述特征值N介于2和7之间,则确定所述条码为堆叠式二维码。
可选地,若所述条码为二维码,所述确定模块,包括:
第五确定子单元,用于若X的最小值Xmin或Y的最小值Ymin小于等于2,则确定所述条码为矩阵式二维码;
第六确定子单元,用于若所述最小值Xmin或所述最小值Ymin大于2,则确定所述条码为堆叠式二维码。
可选地,所述特征提取模块包括:
第一检测单元,用于检测所述水平方向投影与所述二值化图像的相似度,得到水平相似度;
第二检测单元,用于检测所述垂直方向投影与所述二值化图像的相似度,得到垂直相似度。
第三确定单元,用于将所述水平相似度和所述垂直相似度作为所述投影特征。
可选地,所述水平方向投影与所述二值化图像的重合度为所述水平相似度,所述垂直方向投影与所述二值化图像的重合度为所述垂直相似度,所述确定模块包括:
第四确定单元,用于若所述水平相似度或所述垂直相似度达到第二预设阈值,则确定所述条码为一维码;
第五确定单元,若所述水平相似度或所述垂直相似度未达到所述第二预设阈值,则确定所述条码为二维码。
可选地,所述水平方向投影与所述二值化图像的黑块的重合度为所述水平相似度,所述垂直方向投影与所述二值化图像的黑块的重合度为垂直相似度,所述确定模块包括:
第六确定单元,用于若所述水平相似度或所述垂直相似度达到第二预设阈值,则确定所述条码为一维码;
第七确定单元,用于若若所述水平相似度或所述垂直相似度未达到所述第二预设阈值,则确定所述条码为二维码。
第三方面:一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现第一方面所述条码识别方法。
第四方面:一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现第一方面所述条码识别方法。
与现有技术相比,本发明具有以下有益效果:
将条码的二值化图像的沿两条相互垂直的边缘分别建立的水平方向投影和垂直方向投影,分别对水平方向投影和垂直方向投影进行特征提取,根据一维码和二维码各自的水平方向投影和垂直方向投影的特征识别条码为一维码或二维码。由于一维码是由黑条和白条在一个方向上间隔排列而成,使得一维码的二值化图像仅在水平方向或垂直方向其中的一个方向上投影时产生明显坍缩;而二维码由黑块和白块在编码区域内散列而成,其算法决定了黑块大致均匀分布在整个编码区域内,使得二维码的二值化图像在水平方向和垂直方向投影时均产生明显坍缩,这也造就了二维码的水平方向投影和垂直方向投影具有明显相似的特征;导致一维码的水平方向投影和垂直方向投影与二维码的水平方向投影和垂直方向投影这些明显不同的区别特征,基于这些区别特征,识别装置可以快速且准确地区分一维码和二维码,从而在识别条码为一维码后根据一维码的编码方式来解码,而在识别条码为二维码后则根据二维码的编码方式来解码,可以有效地提高解码效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种条码识别方法一个流程示意图;
图2为调整条码图像方位的示意图;
图3为建立一维码的水平方向投影和垂直方向投影的示意图;
图4为对水平方向投影进行特征提取的示意图;
图5为对图3中的垂直方向投影进行特征提取的示意图;
图6为建立二维码的水平方向投影和垂直方向投影的示意图;
图7为对图6中的水平方向投影进行特征提取的示意图;
图8为对图6中的垂直方向投影进行特征提取的示意图;
图9为建立一维码的水平方向投影和垂直方向投影的另一示意图;
图10为对图9中的水平方向投影和垂直方向投影进行特征提取的示意图;
图11为建立二维码的水平方向投影和垂直方向投影的另一示意图;
图12为对图11中的水平方向投影和垂直方向投影进行特征提取的示意图。
图13为本发明一种条码识别装置一个结构示意图;
图14为本发明中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于更好的理解本发明的目的、结构、特征以及功效等,现结合附图和具体实施方式对本发明作进一步说明。
如图1所示,图1为本发明实施例一种条码识别方法一个实施例示意图,包括如下步骤:
S100:获取条码的灰度图像;
S200:对所述灰度图像进行定位,并提取所述灰度图像中的条码图像;
S300:对所述条码图像进行二值化处理,以获取所述条码的二值化图像;
如图2所示,对于步骤S100-S300,可以理解,当获取了灰度图像P1,首先对灰度图像P1进行预处理,如对灰度图像P1进行滤波处理以去除噪点,同时也使得灰度图像P1平滑化,再通过锐化处理使灰度图像P1更加明晰等等;灰度图像P1通过上述预处理操作之后,条码图像P2在整个灰度图像P1中的位置比较突出,便于定位条码图像P2。具体地,可以根据条码图像P2的特征来定位条码图像P2,如通过边缘检测技术检测条码图像P2的边缘,进而确定条码图像P2的位置,进而将条码图像P2从整个灰度图像P1中分割出来;某些实施例中,图像定位和图像分割可以由同一个处理单元同步进行。需要指出的是,上述预处理和条码图像P2定位都有较为成熟的技术作为支撑,如预处理有中值滤波处理法,边缘检测则可由Canny算子进行边缘检测、再通过大津阈值法进行图像分割,这些方法和其它现有的图像定位以及图像分割的方法在此都不再赘述。如图2所示,由于条码图像P2在整个灰度图像P1中通常处于倾斜状态,可通过方位调整将其调正,具体来说,可以沿着条码图像P2的两条相互垂直的边缘建立垂直坐标系,或旋转条码图像P2使得条码图像P2的两条垂直边缘分别与已有的垂直坐标系的两个坐标轴平行,以便于后续处理,当然,方位调整也可以在后续的步骤中进行。
接着,如图3和图6所示,将定位出的条码图像P2进行二值化处理,将背景转化为白色,将条码图像P2中的黑块或黑条转化为黑色,而条码图像P2中的白块或白条也被转化为白色。需要指出的是,这里的黑色和白色是相对的,将条码图像P2中的黑块或黑条转化为白色,而条码图像P2中的白块或白条转化为黑色也并不影响后续的处理和识别。
S400:对所述二值化图像分别沿水平方向和垂直方向进行投影,得到二值化图像的水平方向投影和垂直方向投影;
随之,如图3和图6所示,将二值化图像P3沿着水平方向(二值化图像P3其中一条边缘的方向)和垂直方向(二值化图像P3另一条边缘的方向)分别建立二值化图像P3的水平方向投影和垂直方向投影。
S500:分别对所述水平方向投影和所述垂直方向投影进行特征提取,得到投影特征;
S600:根据所述投影特征确定所述条码的类型。
而后,如图4、图5、图7和图8所示,在对所述二值化图像分别沿水平方向和垂直方向进行投影,得到二值化图像的水平方向投影和垂直方向投影,并对水平方向投影和垂直方向投影分别进行特征提取,得到投影特征。由于一维码的二值化图像P3仅在水平方向或垂直方向其中的一个方向上投影时产生明显坍缩;而二维码由黑块和白块在编码区域内散列而成,其编码方式决定了黑块大致均匀分布在整个编码区域内,使得二维码的二值化图像P3在水平方向和垂直方向投影时均产生明显坍缩,这也造就了二维码的水平方向投影和垂直方向投影具有明显相似的特征;上述原因导致一维码的水平方向投影和垂直方向投影与二维码的水平方向投影和垂直方向投影这些明显不同的区别特征。比如一维码的二值化图像P3沿水平方向投影发生坍缩时,其必定坍缩为一个连通域,则其垂直方向投影不会坍缩,且任然是多个连通域;而二维码的的二值化图像P3沿水平方向和垂直方向投影时均产生坍缩,其水平方向投影和垂直方向投影基本上都会形成一个连通域,对于特殊的堆叠式二维码,即使其水平方向投影或垂直方向投影形成多个连通域,任然可以通过其二值化图像P3坍缩后所特有的投影特征将之与一维码区分开来。
在此分别以一维码和二维码中比较典型的Code128码和QR码为例,其它一维码与二维码与此类似。如图3所示,横置的Code128码的水平方向投影和垂直方向投影,Code128码的黑条沿水平方向坍缩至堆叠在一起,而黑条沿垂直方向几乎不变(理论上没有变化);如图5所示,为QR码的水平方向投影和垂直方向投影,QR码的水平方向投影和垂直方向投影相对于投影前的二值化图像P3均发生明显坍缩。
最后,根据一维码和二维码的特征并与提取的投影特征进行比对,判断条码为一维码还是二维码。
可选地,分别对所述水平方向投影和所述垂直方向投影进行特征提取,得到投影特征,包括:
沿水平方向对所述水平方向投影进行直线扫描;
统计扫描直线同时穿过的黑条数或白条数的数量X;
沿垂直方向对所述垂直方向投影进行直线扫描;
统计扫描直线同时穿过的黑条数或白条数的数量Y;
将所述黑条数或白条数的数量X,与所述黑条数或白条数的数量Y作为所述投影特征。
可选地,所述根据所述投影特征确定所述条码的类型,包括:
分析所述X与所述Y的数量关系;
比较所述X的最大值Xmax与所述Y的最大值Ymax的大小;
计算所述最大值Xmax与所述最大值Ymax之间较大值与较小值的比值,得到特征值N;
将所述特征值N与第一预设阈值进行比较,以确定所述条码的类型。
可选地,所述将特征值N与第一预设阈值进行比较,以确定所述条码的类型,包括:
若所述特征值N大于所述第一预设阈值,则确定所述条码为一维码;
若所述特征值N小于所述第一预设阈值,则确定所述条码为二维码。
可选地,所述第一预设阈值大于等于2且小于等于7。
分别以3图中的Code128码和图5中的QR码为例,采用直线扫描的方式进行特征提取。当对Code128码的水平方向投影和垂直方向投影进行直线扫描时,由于Code128码的黑条沿水平方向坍缩至堆叠在一起,扫描直线在水平方向投影的的任意位置均穿过一个黑条(这里的黑条指由白条间隔开的黑条,当扫描直线同时穿过黑条再穿过白条而后再穿过黑条时,指的是扫描直线同时穿过了两个黑条,即使这两个黑条在其它位置是连通的,下同),统计扫描直线同时穿过的黑条数X恒等于一;而黑条沿垂直方向几乎不发生坍缩(理论上没有变化),扫描直线在垂直方向投影的的任意位置均穿过至少七个黑条(起始符三条、终止符四条),统计黑条数Y总是大于七,且在任意扫码位置Y值基本保持不变(理论上保持不变);Ymax大于Xmax,Ymax/Xmax总是大于七。当对QR码的水平方向投影进行直线扫描时,扫描直线穿过的黑条数X总是先递增再递减,当对QR码的垂直方向投影进行直线扫描时,扫描直线穿过的黑条数Y也是先递增再递减,且大致满足如下规律:Xmin=Ymin=1,Xmax≈Ymax,则有2>max{Xmax,Ymax}/max{Xmax,Ymax}≥1。故而,对一个条码进行投影特征提取时,当max{Xmax,Ymax}/max{Xmax,Ymax}>7时,也即若所述特征值N大于所述第一预设阈值时,则判断条码为一维码,否则,则判断条码为二维码。
可选地,所述第一预设阈值为7,若所述特征值N介于1和2之间,则确定所述条码为矩阵式二维码;若所述特征值N介于2和7之间,则确定所述条码为堆叠式二维码。
可选地,当确定所述条码为二维码,若所述X的最小值Xmin或Y的最小值Ymin小于等于2,则确定所述条码为矩阵式二维码;若所述最小值Xmin或所述最小值Ymin大于2,则确定所述条码为堆叠式二维码。
由于QR码为矩阵式二维码,对于PDF417等堆叠式二维码而言,有如下关系:Xmin>2且Ymin>2,同时7>max{Xmax,Ymax}/max{Xmax,Ymax},因此,在判断条码为二维码后,可进一步进行判断:当Xmin>2或Ymin>2或7>max{Xmax,Ymax}/max{Xmax,Ymax}>2时,则判断条码为堆叠式二维码。
可选地,分别对所述水平方向投影和所述垂直方向投影进行特征提取,得到投影特征,包括:
检测所述水平方向投影与所述二值化图像的相似度,得到水平相似度;
检测所述垂直方向投影与所述二值化图像的相似度,得到垂直相似度;
将所述水平相似度和所述垂直相似度作为所述投影特征。
可选地,所述水平方向投影与所述二值化图像的重合度为所述水平相似度,所述垂直方向投影与所述二值化图像的重合度为所述垂直相似度,所述根据所述投影特征确定所述条码的类型,包括:
若所述水平相似度或所述垂直相似度达到第二预设阈值,则确定所述条码为一维码;
若所述水平相似度或所述垂直相似度未达到所述第二预设阈值,则确定所述条码为二维码。
可选地,所述水平方向投影与所述二值化图像的黑块的重合度为所述水平相似度,所述垂直方向投影与所述二值化图像的黑块的重合度为垂直相似度,所述根据所述投影特征确定所述条码的类型,包括:
若所述水平相似度或所述垂直相似度达到第二预设阈值,则确定所述条码为一维码;
若所述水平相似度或所述垂直相似度未达到所述第二预设阈值,则确定所述条码为二维码。
由于前述的一维码的水平方向投影和垂直方向投影与二维码的水平方向投影和垂直方向投影具有明显的形态区别,其它实施例中也可基于这些区别特征对一维码和二维码进行区分,如图9、图10、图11和图13所示,为本发明识别模块100的识别方法的另一实施例,其与前一个实施例的区别在于:可分别检测水平方向投影和垂直方向投影与二值化图像P3的相似度,具体来说,可分别检测水平方向投影和垂直方向投影与二值化图像P3的重合度,或者分别检测水平方向投影和垂直方向投影与二值化图像P3的黑块的重合度,得到水平相似度以及垂直相似度。以水平方向投影和垂直方向投影与二值化图像P3的重合度为例,由于一维码的水平方向投影或垂直方向投影其中之一必定与二值化图像P3大致重合,而二维码的水平方向投影和垂直方向投影必定均不与二值化图像P3重合,基于此,当水平方向投影和垂直方向投影其中之一与二值化图像P3的重合度,也即水平相似度以及垂直相似度达到第二预设阈值时,判断条码为一维码;否则,判断条码为二维码。进一步,当水平方向投影和垂直方向投影其中之一与二值化图像P3的黑块的重合面积达到一定的阈值时,判断条码为一维码;否则,判断条码为二维码。更进一步,该阈值为50%,当水平方向投影和垂直方向投影其中之一与二值化图像P3的重合度达到50%以上时,判断条码为一维码;否则,判断条码为二维码。优选地,当水平方向投影和垂直方向投影其中之一与二值化图像P3的重合度达到70%以上时,判断条码为一维码。优选地,当水平方向投影和垂直方向投影其中之一与二值化图像P3的重合度达到90%以上时,判断条码为一维码。
由此可见,本发明实施例提供了一种条码识别方法,将条码的二值化图像P3的沿两条相互垂直的边缘分别建立的水平方向投影和垂直方向投影,分别对水平方向投影和垂直方向投影进行特征提取,根据一维码和二维码各自的水平方向投影和垂直方向投影的特征识别条码为一维码或二维码。由于一维码是由黑条和白条在一个方向上间隔排列而成,使得一维码的二值化图像P3仅在水平方向或垂直方向其中的一个方向上投影时产生明显坍缩;而二维码由黑块和白块在编码区域内散列而成,其编码方式决定了黑块大致均匀分布在整个编码区域内,使得二维码的二值化图像P3在水平方向和垂直方向投影时均产生明显坍缩,且造就了二维码的水平方向投影和垂直方向投影具有明显相似的特征;导致一维码的水平方向投影和垂直方向投影与二维码的水平方向投影和垂直方向投影这些明显不同的区别特征,基于这些区别特征,识别模块100可以快速且准确地区分一维码和二维码,在识别条码为一维码后根据一维码的编码方式来解码,而在识别条码为二维码后则根据二维码的编码方式来解码,提高识别效率。
上面对本发明一种条码识别方法进行了描述,下面对本发明实施例一种条码识别装置进行描述:
如图13所示,本发明的识别装置主要包括:获取模块10、定位模块11、二值化模块12、投影模块13、特征提取模块14和确定模块15。
获取模块10,用于获取条码的灰度图像;
定位模块11,用于对所述灰度图像进行定位,并提取所述灰度图像中的条码图像;
二值化模块12,用于将所述条码图像二值化处理,以获取所述条码的二值化图像;
投影模块13,用于对所述二值化图像分别沿水平方向和垂直方向进行投影,得到二值化图像的水平方向投影和垂直方向投影;
特征提取模块14,用于分别对所述水平方向投影和所述垂直方向投影进行特征提取,得到投影特征;
确定模块15,用于根据所述投影特征确定所述条码的类型。
可选地,所述特征提取模块14包括:
第一扫描单元,用于沿水平方向对所述水平方向投影进行直线扫描;
第一统计单元,用于统计扫描直线同时穿过的黑条数或白条数的数量X;
第二扫描单元,用于沿垂直方向对所述垂直方向投影进行直线扫描;
第二统计单元,用于统计扫描直线同时穿过的黑条数或白条数的数量Y;
特征确定单元,用于将所述黑条数或白条数的数量X,与所述黑条数或白条数的数量Y作为所述投影特征。
可选地,所述确定模块,包括:
分析单元,用于分析所述X与所述Y的数量关系;
第一比较单元,用于比较X的最大值Xmax与Y的最大值Ymax的大小;
计算单元,用于计算所述最大值Xmax与所述最大值Ymax之间较大值与较小值的比值,得到特征值N;
第二比较单元,用于将所述特征值N与第一预设阈值进行比较,以确定条码的类型。
可选地,所述第二比较单元,包括:
第一确定子单元,用于若所述特征值N大于所述第一预设阈值,则确定所述条码为一维码;
第二确定子单元,用于若所述特征值N小于所述第一预设阈值,则确定所述条码为二维码。
可选地,所述第一预设阈值为7,所述第二比较单元,包括:
第三确定子单元,用于若所述特征值N介于1和2之间,则确定所述条码为矩阵式二维码;
第四确定子单元,用于若所述特征值N介于2和7之间,则确定所述条码为堆叠式二维码。
可选地,若所述条码为二维码,所述确定模块,包括:
第五确定子单元,用于若X的最小值Xmin或Y的最小值Ymin小于等于2,则确定所述条码为矩阵式二维码;
第六确定子单元,用于若所述最小值Xmin或所述最小值Ymin大于2,则确定所述条码为堆叠式二维码。
可选地,所述特征提取模块包括:
第一检测单元,用于检测所述水平方向投影与所述二值化图像的相似度,得到水平相似度;
第二检测单元,用于检测所述垂直方向投影与所述二值化图像的相似度,得到垂直相似度。
第三确定单元,用于将所述水平相似度和所述垂直相似度作为所述投影特征。
可选地,所述水平方向投影与所述二值化图像的重合度为所述水平相似度,所述垂直方向投影与所述二值化图像的重合度为所述垂直相似度,所述确定模块包括:
第四确定单元,用于若所述水平相似度或所述垂直相似度达到第二预设阈值,则确定所述条码为一维码;
第五确定单元,若所述水平相似度或所述垂直相似度未达到所述第二预设阈值,则确定所述条码为二维码。
可选地,所述水平方向投影与所述二值化图像的黑块的重合度为所述水平相似度,所述垂直方向投影与所述二值化图像的黑块的重合度为垂直相似度,所述确定模块包括:
第六确定单元,用于若所述水平相似度或所述垂直相似度达到第二预设阈值,则确定所述条码为一维码;
第七确定单元,用于若所述水平相似度或所述垂直相似度未达到所述第二预设阈值,则确定所述条码为二维码。
关于条码识别装置的具体限定可以参见上文中对于条码识别方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于条码识别方法所需要的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种条码识别方法所述的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现条码识别方法所述的步骤。
本发明的条码识别方法、装置、设备及介质具有以下有益效果:
将条码的二值化图像P3的沿两条相互垂直的边缘分别建立的水平方向投影和垂直方向投影,分别对水平方向投影和垂直方向投影进行特征提取,根据一维码和二维码各自的水平方向投影和垂直方向投影的特征识别条码为一维码或二维码。由于一维码是由黑条和白条在一个方向上间隔排列而成,使得一维码的二值化图像P3仅在水平方向或垂直方向其中的一个方向上投影时产生明显坍缩;而二维码由黑块和白块在编码区域内散列而成,其编码方式决定了黑块大致均匀分布在整个编码区域内,使得二维码的二值化图像P3在水平方向和垂直方向投影时均产生明显坍缩,且造就了二维码的水平方向投影和垂直方向投影具有明显相似的特征;导致一维码的水平方向投影和垂直方向投影与二维码的水平方向投影和垂直方向投影这些明显不同的区别特征,基于这些区别特征,识别装置可以快速且准确地区分一维码和二维码,在识别条码为一维码后根据一维码的编码方式来解码,而在识别条码为二维码后则根据二维码的编码方式来解码,提高条码识别效率和准确率。
以上详细说明仅为本发明之较佳实施例的说明,非因此局限本发明之专利范围,所以,凡运用本创作说明书及图示内容所为之等效技术变化,均包含于本创作之专利范围内。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (6)

1.一种条码识别方法,以应用于条码类型的识别系统的识别装置,其特征在于,包括:
获取条码的灰度图像;
对所述灰度图像进行定位,并提取所述灰度图像中的条码图像;
对所述条码图像进行二值化处理,以获取所述条码的二值化图像;
对所述二值化图像分别沿水平方向和垂直方向进行投影,得到二值化图像的水平方向投影和垂直方向投影;
分别对所述水平方向投影和所述垂直方向投影进行特征提取,得到投影特征;
沿水平方向对所述水平方向投影进行直线扫描;
统计扫描直线同时穿过的黑条数或白条数的数量X;
沿垂直方向对所述垂直方向投影进行直线扫描;
统计扫描直线同时穿过的黑条数或白条数的数量Y;
将所述黑条数或白条数的数量X,与所述黑条数或白条数的数量Y作为所述投影特征;
根据所述投影特征确定所述条码的类型,包括:
分析所述X与所述Y的数量关系;
比较所述X的最大值Xmax与所述Y的最大值Ymax的大小;
计算所述最大值Xmax与所述最大值Ymax之间较大值与较小值的比值,得到特征值N;
将所述特征值N与第一预设阈值进行比较,以确定所述条码的类型;其中,若所述特征值N大于所述第一预设阈值,则确定所述条码为一维码;若所述特征值N小于所述第一预设阈值,则确定所述条码为二维码,其中,所述第一预设阈值大于等于2且小于等于7。
2.如权利要求1所述条码识别方法,其特征在于,所述第一预设阈值为7,若所述特征值N介于1和2之间,则确定所述条码为矩阵式二维码;若所述特征值N介于2和7之间,则确定所述条码为堆叠式二维码。
3.如权利要求1所述条码识别方法,其特征在于,当确定所述条码为二维码,若所述X的最小值Xmin或Y的最小值Ymin小于等于2,则确定所述条码为矩阵式二维码;若所述最小值Xmin或所述最小值Ymin大于2,则确定所述条码为堆叠式二维码。
4.如权利要求1所述的条码识别方法,其特征在于,分别对所述水平方向投影和所述垂直方向投影进行特征提取,得到投影特征,包括:
检测所述水平方向投影与所述二值化图像的相似度,得到水平相似度;
检测所述垂直方向投影与所述二值化图像的相似度,得到垂直相似度;
将所述水平相似度和所述垂直相似度作为所述投影特征。
5.如权利要求4所述的条码识别方法,其特征在于,所述水平方向投影与所述二值化图像的重合度为所述水平相似度,所述垂直方向投影与所述二值化图像的重合度为所述垂直相似度,所述根据所述投影特征确定所述条码的类型,包括:
若所述水平相似度或所述垂直相似度达到第二预设阈值,则确定所述条码为一维码;
若所述水平相似度或所述垂直相似度未达到所述第二预设阈值,则确定所述条码为二维码。
6.如权利要求4所述的条码识别方法,其特征在于,所述水平方向投影与所述二值化图像的黑块的重合度为所述水平相似度,所述垂直方向投影与所述二值化图像的黑块的重合度为垂直相似度,所述根据所述投影特征确定所述条码的类型,包括:
若所述水平相似度或所述垂直相似度达到第二预设阈值,则确定所述条码为一维码;
若所述水平相似度或所述垂直相似度未达到所述第二预设阈值,则确定所述条码为二维码。
CN201910382518.9A 2019-05-09 2019-05-09 条码识别方法 Active CN110245536B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202410011560.0A CN117952135A (zh) 2019-05-09 2019-05-09 条码识别装置
CN201910382518.9A CN110245536B (zh) 2019-05-09 2019-05-09 条码识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910382518.9A CN110245536B (zh) 2019-05-09 2019-05-09 条码识别方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202410011560.0A Division CN117952135A (zh) 2019-05-09 2019-05-09 条码识别装置

Publications (2)

Publication Number Publication Date
CN110245536A CN110245536A (zh) 2019-09-17
CN110245536B true CN110245536B (zh) 2024-02-27

Family

ID=67883948

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202410011560.0A Pending CN117952135A (zh) 2019-05-09 2019-05-09 条码识别装置
CN201910382518.9A Active CN110245536B (zh) 2019-05-09 2019-05-09 条码识别方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202410011560.0A Pending CN117952135A (zh) 2019-05-09 2019-05-09 条码识别装置

Country Status (1)

Country Link
CN (2) CN117952135A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112101058B (zh) * 2020-08-17 2023-05-09 武汉诺必答科技有限公司 一种试卷条码自动识别方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114910A (ja) * 1995-10-18 1997-05-02 Hitachi Ltd バーコード認識方法及びシステム
JP2008009907A (ja) * 2006-06-30 2008-01-17 Fuji Xerox Co Ltd バーコード認識装置、方法及びプログラム
CN104657728A (zh) * 2015-03-19 2015-05-27 江苏物联网研究发展中心 基于计算机视觉的条码识别系统
CN109101856A (zh) * 2018-09-25 2018-12-28 广东工业大学 一种二维码图像识别方法及装置
CN109522767A (zh) * 2017-09-18 2019-03-26 北京星河泰视特科技有限公司 一维码断码视觉检测算法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521558B (zh) * 2011-11-18 2014-04-02 深圳市宝捷信科技有限公司 一种条码识别方法及装置
CN102799850B (zh) * 2012-06-30 2016-03-30 北京百度网讯科技有限公司 一种条形码识别方法和装置
CN104933387B (zh) * 2015-06-24 2017-05-17 上海快仓智能科技有限公司 一种基于二维码解码的快速定位识别的方法
CN105488448B (zh) * 2015-12-11 2018-10-09 杭州晟元数据安全技术股份有限公司 一种条码和二维码的区分方法
CN107545207A (zh) * 2017-09-28 2018-01-05 云南电网有限责任公司电力科学研究院 基于图像处理的dm二维码识别方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114910A (ja) * 1995-10-18 1997-05-02 Hitachi Ltd バーコード認識方法及びシステム
JP2008009907A (ja) * 2006-06-30 2008-01-17 Fuji Xerox Co Ltd バーコード認識装置、方法及びプログラム
CN104657728A (zh) * 2015-03-19 2015-05-27 江苏物联网研究发展中心 基于计算机视觉的条码识别系统
CN109522767A (zh) * 2017-09-18 2019-03-26 北京星河泰视特科技有限公司 一维码断码视觉检测算法
CN109101856A (zh) * 2018-09-25 2018-12-28 广东工业大学 一种二维码图像识别方法及装置

Also Published As

Publication number Publication date
CN110245536A (zh) 2019-09-17
CN117952135A (zh) 2024-04-30

Similar Documents

Publication Publication Date Title
CN107633192B (zh) 一种基于机器视觉的复杂背景下条形码分割与识读方法
EP3309704B1 (en) Two-dimensional code partitioning and decoding method and system
EP1678659B1 (en) Method and image processing device for analyzing an object contour image, method and image processing device for detecting an object, industrial vision apparatus, smart camera, image display, security system, and computer program product
Awrangjeb et al. Robust image corner detection based on the chord-to-point distance accumulation technique
CN106960208B (zh) 一种仪表液晶数字自动切分和识别的方法及系统
US10528781B2 (en) Detection method and system for characteristic patterns of Han Xin codes
US9008426B2 (en) Generating an image presegmented into regions of interest and regions of no interest
CN110472580B (zh) 基于全景影像的检测车位的方法、装置、存储介质
CN111582000B (zh) 一种条形码定位方法、装置及相关设备
CN108229232B (zh) 批量扫描二维码的方法和批量扫描二维码的装置
CN109815762B (zh) 远距离识别二维码的方法、存储介质
US20130322771A1 (en) Shape detection using chain code states
CN109508573B (zh) 二维码的解码方法和装置
CN111259908A (zh) 基于机器视觉的钢卷号识别方法、系统、设备及存储介质
CN110245536B (zh) 条码识别方法
Zamberletti et al. Neural 1D barcode detection using the Hough transform
Bodnár et al. A novel method for barcode localization in image domain
CN112101058B (zh) 一种试卷条码自动识别方法及装置
WO2022021687A1 (zh) 快速响应码区域定位方法、电子设备及存储介质
CN113822092B (zh) 用于定位位置探测图形的方法及装置、电子设备、介质
CN105488448A (zh) 一种条码和二维码的区分方法
CN114004799A (zh) 一种基于机器视觉的轮胎条码识别方法、系统及设备
CN111753842B (zh) 票据文本区域检测方法及装置
CN111428530B (zh) 一种二维码图像检测识别设备、装置及方法
CN114611540A (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
TA01 Transfer of patent application right

Effective date of registration: 20240122

Address after: 518000 15A, Block D, Central Avenue, intersection of Xixiang Avenue and Baoyuan Road, Labor Community, Xixiang Street, Bao'an District, Shenzhen, Guangdong Province

Applicant after: SHENZHEN YINGDA INFORMATION TECHNOLOGY Co.,Ltd.

Country or region after: China

Address before: 518000 509 East, 5th floor, Science Park industrial building, 6 Keyuan Road, Science Park community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: Shenzhen Yingda Machine Vision Technology Co.,Ltd.

Country or region before: China

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant