CN108073848B - 一种条码识别方法、设备和装置 - Google Patents

一种条码识别方法、设备和装置 Download PDF

Info

Publication number
CN108073848B
CN108073848B CN201610975814.6A CN201610975814A CN108073848B CN 108073848 B CN108073848 B CN 108073848B CN 201610975814 A CN201610975814 A CN 201610975814A CN 108073848 B CN108073848 B CN 108073848B
Authority
CN
China
Prior art keywords
chip
identified
bar
bar code
identification result
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
CN201610975814.6A
Other languages
English (en)
Other versions
CN108073848A (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.)
Banma Zhixing Network Hongkong Co Ltd
Original Assignee
Banma Zhixing Network Hongkong 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 Banma Zhixing Network Hongkong Co Ltd filed Critical Banma Zhixing Network Hongkong Co Ltd
Priority to CN201610975814.6A priority Critical patent/CN108073848B/zh
Publication of CN108073848A publication Critical patent/CN108073848A/zh
Application granted granted Critical
Publication of CN108073848B publication Critical patent/CN108073848B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14131D bar codes
    • 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

对应发明提供了一种条码识别方法、装置和设备,其中方法包括:确定待识别条码区域中各码片的起始位置;根据所述各码片的起始位置,构建待识别条码区域中各码片的位置搜索空间,各位置搜索空间包含对应码片的识别结果若为数字k时对应的各条的分布,所述k为对数字0~9的穷举;在所述位置搜索空间中进行搜索匹配,以使得匹配得到的各码片的识别结果对应的条的分布与待识别条码区域各码片的灰度分布之间的相似度满足预设要求;确定所述匹配得到的各码片的识别结果所构成的数字序列为所述待识别条码区域的识别结果。本发明能够提高识别准确率,实现模糊条码识别。

Description

一种条码识别方法、设备和装置
【技术领域】
本发明涉及计算机应用技术领域,特别涉及一种条码识别方法、设备和装置。
【背景技术】
目前基于摄像头的条码识别普遍流行,用户可以通过诸如“扫一扫”等功能实现商品查询、支付、添加联系人等。现有条码识别的方式主要是对扫描得到的图像进行二值化分割或边缘提取,形成二值化的01码流数据;然后对01码流数据中01的不同长度比例值对每个码片进行独立解码,从而得到解码结果。但这种方式受图像质量的影响很大,一旦有些条码边缘处出现断裂、模糊等情况,就会造成01码流数据的错误,从而进一步造成解码错误。
如图1中所示,图中横线部分为数字“5”对应的码片,经过二值化后,其白、黑竖条的宽度比例是{1,2,3,1},对应的二值化码流为1111000000001111111111110000。但若图像不清晰,则很容易造成白、黑竖条的识别有误,例如将宽度比例识别为{1,2,1,1},对应的01码流变成1111000000001111000011110000,从而造成解码错误。
【发明内容】
有鉴于此,本发明提供了一种条码识别方法、设备和装置,以便于提高条码识别的准确率。
具体技术方案如下:
本发明提供了一种条码识别方法,该方法包括:
确定待识别条码区域中各码片的起始位置;
根据所述各码片的起始位置,构建待识别条码区域中各码片的位置搜索空间,位置搜索空间包含对应码片的识别结果若为数字k时对应的各条的分布,所述k为对数字0~9的正整数穷举;
在所述位置搜索空间中进行搜索匹配,以使得匹配得到的各码片的识别结果对应的条的分布与待识别条码区域各码片的灰度分布之间的相似度满足预设要求;
确定所述匹配得到的各码片的识别结果所构成的数字序列为所述待识别条码区域的识别结果。
根据本发明一优选实施方式,所述确定待识别条码区域中各码片的起始位置包括:
利用所述待识别条码区域的起始点位置以及待识别条码所采用的码片模型,得到所述待识别条码区域中各码片的起始位置。
根据本发明一优选实施方式,利用所述待识别条码区域的起始点位置以及待识别条码所采用的码片模型,得到所述待识别条码区域中各码片的起始位置包括:
采用公式pin_begin_i=bar_begin+C1*base_wd+C2*(i-1)*base_wd,确定所述待识别条码区域中第i个码片的起始位置pin_begin_i;
其中,所述bar_begin为所述待识别条码区域的起始点位置,所述base_wd为所述待识别条码区域的单位条宽度,参数C1和C2由所述待识别条码所采用的码片模型决定。
根据本发明一优选实施方式,所述构建待识别条码区域中各码片的位置搜索空间包括:
采用pin_i_k_j=pin_i_k_0+model[k][j-1]*base_wd,确定第i个码片的识别结果为k时对应的各条的位置点j的位置pin_i_k_j;
其中所述pin_i_k_0为所述第i个码片的起始位置,model[k][j-1]的取值通过查询数字模型获取,所述数字模型包含有码片中识别结果为k时对应的各条的位置点信息,所述base_wd为所述待识别条码区域的单位条宽度。
根据本发明一优选实施方式,所述预设要求包括:匹配得到的各码片的识别结果对应的条的分布与待识别条码区域各码片的灰度分布之间的相似度最大。
根据本发明一优选实施方式,在所述位置搜索空间中进行搜索匹配,以使得匹配得到的各码片的识别结果对应的条的分布与待识别条码区域各码片的灰度分布之间的相似度满足预设要求,包括:
利用待识别条码区域各码片的灰度分布与各码片的数字模型所对应的灰度分布之间的相似度,构建识别函数,其中所述数字模型包含有码片中识别结果为k时对应的各条的位置点信息;
在构建的位置搜索空间中搜索所述识别函数的最优解。
根据本发明一优选实施方式,所述识别函数为:
Figure GDA0002914073430000041
所述F(Ipin_i,Modelk)为待识别条码区域第i个码片的灰度分布与该码片的数字模型所对应的灰度分布之间的相似度,所述数字模型包含有码片中识别结果为k时对应的各条的位置点信息,所述M为所述待识别条码区域包含的码片总数。
根据本发明一优选实施方式,所述F(Ipin_i,Modelk)采用如下方式确定:
Figure GDA0002914073430000042
所述An=sum_f(pin_i_k_(j+1),(-1)j)-sum_f(pin_i_k_j,(-1)j);
其中所述n为码片中各条的编码,函数
Figure GDA0002914073430000043
函数f(x,1)为待识别条码区域中像素点x与所述数字模型中对应第一色条的灰度相似度,函数f(x,-1)为待识别条码区域中像素点x在与所述数字模型中对应第二色条的灰度相似度,pin_i_k_j为第i个码片的识别结果为k时对应的第j个条的位置点,pin_i_k_(j+1)为第i个码片的识别结果为k时对应的第j+1个条的位置点。
根据本发明一优选实施方式,所述f(x,1)采用如下方式确定:
Figure GDA0002914073430000044
其中,μwhite和σwhite分别为待识别条码区域第一色条的像素点灰度均值和方差,I(x)为待识别条码区域中像素点x的灰度值;
所述f(x,-1)采用如下方式确定:
Figure GDA0002914073430000051
其中,所述μblack和σblack分别为待识别条码区域第二色条的像素点灰度均值和方差。
根据本发明一优选实施方式,该方法还包括:
将所述待识别条码区域各像素点的灰度值大于待识别条码区域各像素点的灰度平均值的平均值,确定为所述μwhite
将所述待识别条码区域各像素点的灰度值小于待识别条码区域各像素点的灰度平均值的平均值,确定为所述μblack
根据本发明一优选实施方式,该方法还包括:
若所述I(x)的取值大于μwhite的取值,则利用μwhite的取值更新所述I(x)的取值;
若所述I(x)的取值小于μblack的取值,则利用μblack的取值更新所述I(x)的取值。
根据本发明一优选实施方式,在所述构建识别函数时,进一步利用相邻码片最近点之间的距离;
所述最优解中相邻码片之间不重叠。
根据本发明一优选实施方式,确定所述匹配得到的各码片的识别结果所构成的数字序列为所述待识别条码区域的识别结果包括:
对所述匹配得到的各码片的识别结果所构成的数字序列进行校验,如果校验通过,则将所述匹配得到的各码片的识别结果所构成的数字序列确定为所述待识别条码区域的识别结果。
根据本发明一优选实施方式,对所述匹配得到的各码片的识别结果所构成的数字序列进行校验包括:
按照第二顺序,转至执行所述确定待识别条码区域中各码片的起始位置的步骤,其中所述第二顺序与第一顺序相反,所述第一顺序为确定待识别条码区域中各码片的起始位置所按照的顺序;
将按照第二顺序匹配得到的各码片的识别结果所构成的数字序列与按照第一顺序匹配得到的各码片的识别结果所构成的数字序列进行比对,判断是否互为数字倒序,如果是,则确定校验成功;否则,校验失败。
本发明还提供了一种设备,包括
存储器,包括一个或者多个程序;
一个或者多个处理器,耦合到所述存储器,执行所述一个或者多个程序,以实现:
确定待识别条码区域中各码片的起始位置;
根据所述各码片的起始位置,构建待识别条码区域中各码片的位置搜索空间,各位置搜索空间包含对应码片的识别结果若为数字k时对应的各条的分布,所述k为对数字0~9的正整数穷举;
在所述位置搜索空间中进行搜索匹配,以使得匹配得到的各码片的识别结果对应的条的分布与待识别条码区域各码片的灰度分布之间的相似度满足预设要求;
确定所述匹配得到的各码片的识别结果所构成的数字序列为所述待识别条码区域的识别结果。
本发明还提供了一种条码识别装置,该装置包括:
确定单元,用于按照确定待识别条码区域中各码片的起始位置;
构建单元,用于根据所述各码片的起始位置,构建待识别条码区域中各码片的位置搜索空间,各位置搜索空间包含对应码片的识别结果若为数字k时对应的各条的分布,所述k为对数字0~9的正整数穷举;
搜索匹配单元,用于在所述位置搜索空间中进行搜索匹配,以使得匹配得到的各码片的识别结果对应的条的分布与待识别条码区域各码片的灰度分布之间的相似度满足预设要求;
结果确定单元,用于确定所述匹配得到的各码片的识别结果所构成的数字序列为所述待识别条码区域的识别结果。
根据本发明一优选实施方式,所述确定单元,具体用于利用所述待识别条码区域的起始点位置以及待识别条码所采用的码片模型,得到所述待识别条码区域中各码片的起始位置。
根据本发明一优选实施方式,所述确定单元,具体用于:
采用公式pin_begin_i=bar_begin+C1*base_wd+C2*(i-1)*base_wd,确定所述待识别条码区域中第i个码片的起始位置pin_begin_i;
其中,所述bar_begin为所述待识别条码区域的起始点位置,所述base_wd为所述待识别条码区域的单位条宽度,参数C1和C2由所述待识别条码所采用的码片模型决定。
根据本发明一优选实施方式,所述构建单元,具体用于:
采用pin_i_k_j=pin_i_k_0+model[k][j-1]*base_wd,确定第i个码片的识别结果为k时对应的各条的位置点j的位置pin_i_k_j;
其中所述pin_i_k_0为所述第i个码片的起始位置,model[k][j-1]的取值通过查询数字模型获取,所述数字模型包含有码片中识别结果为k时对应的各条的位置点信息,所述base_wd为所述待识别条码区域的单位条宽度。
根据本发明一优选实施方式,所述预设要求包括:匹配得到的各码片的识别结果对应的条的分布与待识别条码区域各码片的灰度分布之间的相似度最大。
根据本发明一优选实施方式,所述搜索匹配单元,具体用于:
利用待识别条码区域各码片的灰度分布与各码片的数字模型所对应的灰度分布之间的相似度,构建识别函数,其中所述数字模型包含有码片中识别结果为k时对应的各条的位置点信息;
在构建的位置搜索空间中搜索所述识别函数的最优解。
根据本发明一优选实施方式,所述识别函数为:
Figure GDA0002914073430000081
所述F(Ipin_i,Modelk)为待识别条码区域第i个码片的灰度分布与该码片的数字模型所对应的灰度分布之间的相似度,所述数字模型包含有码片中识别结果为k时对应的各条的位置点信息,所述M为所述待识别条码区域包含的码片总数。
根据本发明一优选实施方式,所述F(Ipin_i,Modelk)采用如下方式确定:
Figure GDA0002914073430000082
所述An=sum_f(pin_i_k_(j+1),(-1)j)-sum_f(pin_i_k_j,(-1)j);
其中所述n为码片中各条的编码,函数
Figure GDA0002914073430000091
函数f(x,1)为待识别条码区域中像素点x与所述数字模型中对应第一色条的灰度相似度,函数f(x,-1)为待识别条码区域中像素点x在与所述数字模型中对应第二色条的灰度相似度,pin_i_k_j为第i个码片的识别结果为k时对应的第j个条的位置点,pin_i_k_(j+1)为第i个码片的识别结果为k时对应的第j+1个条的位置点。
根据本发明一优选实施方式,所述f(x,1)采用如下方式确定:
Figure GDA0002914073430000092
其中,μwhite和σwhite分别为待识别条码区域第一色条的像素点灰度均值和方差,I(x)为待识别条码区域中像素点x的灰度值;
所述f(x,-1)采用如下方式确定:
Figure GDA0002914073430000093
其中,所述μblack和σblack分别为待识别条码区域第二色条的像素点灰度均值和方差。
根据本发明一优选实施方式,所述搜索匹配单元,还用于将所述待识别条码区域各像素点的灰度值大于待识别条码区域各像素点的灰度平均值的平均值,确定为所述μwhite
将所述待识别条码区域各像素点的灰度值小于待识别条码区域各像素点的灰度平均值的平均值,确定为所述μblack
根据本发明一优选实施方式,所述搜索匹配单元,还用于:若所述I(x)的取值大于μwhite的取值,则利用μwhite的取值更新所述I(x)的取值;
若所述I(x)的取值小于μblack的取值,则利用μblack的取值更新所述I(x)的取值。
根据本发明一优选实施方式,所述搜索匹配单元在构建识别函数时,利用相邻码片最近点之间的距离;
所述最优解中相邻码片之间不重叠。
根据本发明一优选实施方式,该装置还包括:
校验单元,用于对所述搜索匹配单元匹配得到的各码片的识别结果所构成的数字序列进行校验;
所述结果确定单元在所述校验单元的校验结果为是时,确定所述匹配得到的各码片的识别结果所构成的数字序列为所述待识别条码区域的识别结果。
根据本发明一优选实施方式,所述校验单元,用于触发所述确定单元按照第二顺序,确定待识别条码区域中各码片的起始位置;并将按照第二顺序所述搜索匹配单元匹配得到的各码片的识别结果所构成的数字序列与按照第一顺序所述搜索匹配单元匹配得到的各码片的识别结果所构成的数字序列进行比对,判断是否互为数字倒序,如果是,则确定校验成功;否则,校验失败。
由以上技术方案可以看出,本发明通过构建待识别条码区域中各码片的位置搜索空间,在位置搜索空间中搜索匹配,找到黑白条分布与待识别条码区域各码片的灰度分布之间相似度满足预设要求的识别结果。这种方式依据灰度分布来进行条码识别,相比较现有基于二值化分割或边缘提取的方式,提高了识别准确率,即便条码图像不清晰,也能够较准确地进行条码识别。
【附图说明】
图1为条码区域中数字与码片之间的对应关系实例图;
图2为本发明实施例提供的条码识别的方法流程图;
图3a为本发明实施例提供的码片中黑白条位置点的示意图;
图3b为本发明实施例提供的第i个码片的位置搜索空间的示意图;
图4为本发明实施例提供的条码识别装置的结构示意图;
图5为本发明实施例提供的设备结构示意图;
图6为本发明实施例提供的效果对比图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在......时”或“当......时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
图2为本发明实施例提供的条码识别的方法流程图,如图2中所示,该方法可以包括以下步骤:
在201中,确定待识别条码区域中各码片的起始位置。
条码区域是由宽度不等的条间隔构成,在目前的条码技术中,通常采用黑白条间隔构成,但不排除采用其他不同颜色的条间隔构成的实现方案。在本发明实施例中,以黑白条为例进行描述。由于条码区域最终表达的是数字序列,例如EAN(European ArticleNumber,欧洲物品编码)-13的条码区域表达的是12位的数字序列,EAN-8的条码区域表达的是7位的数字序列。其中每个数字在条码区域中分别对应有一段黑白条区域,每一段黑白条区域就称为码片,也就是说,条码区域中每一个码片都对应着一个数字,这些数字构成的序列就是最终的识别结果。
为了方便对条码识别的理解,首先以EAN-13为例对条码进行简单介绍。EAM-13条码共有13位数字:前12位为条码所表达的数字序列,即条码的识别结果;最后1位为校验码,根据前12位计算而得出,用来进行识别校验,即判断前12位数字序列的识别是否正确。对于前12位数字序列的含义与本发明的实现无关,在此不做详述。
通常在确定出条码区域后,可以采用多种方式确定条码区域的起始点位置,假设条码区域的起始点位置为bar_begin,那么依据条码所采用的码片模型可以得到,各码片的起始位置可以采用如下公式确定:
pin_begin_i=bar_begin+C1*base_wd+C2*(i-1)*base_wd (1)
其中,pin_begin_i表示条码第i个码片起始位置,以EAN-13为例,i取值为1,2,...,12;base_wd为条码区域中最细条(黑条或者白条)的宽度,可以看做是该条码区域的单位条宽度,通常以像素数量表示,通常在2到6个像素宽度内取值,例如取4个像素宽度。其中,参数C1和C2由所述待识别条码所采用的码片模型决定,以目前的EAN-13为例,C1可以取3,C2可以取7。
上述公式(1)主要由条码所采用的码片模型得到,通常在条码区域中,每个码片的宽度为7倍的base_wd,在第一个码片之前会存在3倍的base_wd的空白区间。
例如条码中第1、2、3......个码片起始位置分别为:
pin_begin_1=bar_begin+3*base_wd
pin_begin_2=bar_begin+3*base_wd+7*base_wd=bar_begin+10*base_wd
pin_begin_3=bar_begin+3*base_wd+14*base_wd=bar_begin+17*base_wd
……
当然,如果采用其他码片模型,则可以采用其他码片模型对应的方式确定出各码片的起始位置。
在202中,构建待识别条码区域中各码片的位置搜索空间,各位置搜索空间包含对应码片的识别结果若为数字k时对应的各黑白条分布,其中k为对数字0~9的正整数穷举。
对于各个码片而言,其识别结果是哪个数字预先并不得而知,本步骤实际上就是预先将各码片的识别结果对应的黑白条位置分布进行穷举,以便后续进行匹配以确定与当前条码中各码片的灰度分布最相似的数字对应的黑白条位置,那么该数字就是该码片的识别结果。以第i个码片为例:
通常一个码片由4个黑白条组成,如图3a中所示,那么该码片中黑白条的位置可以采用5个位置点标识,即图中的点0、点1、点2、点3和点4。那么第i个码片的识别结果为k时对应的位置点j可以采用如下公式确定:
pin_i_k_j=pin_i_k_0+model[k][j-1]*base_wd (2)
其中,pin_i_k_0=pin_begin_i (3)
model[k][j-1]的取值可以通过查询数字模型以获取,在数字模型包含有码片中识别结果为k时对应的黑白条的位置点信息,该数字模型是对位置点的穷举,是预先构建好的模型。j取0、1、2、3或4。
那么就得到了该第i个码片的识别结果分别为0对应的各黑白条的分布,识别结果为1时对应的各黑白条的分布,识别结果为2时对应的各黑白条的分布,......,识别结果为9时对应的各黑白条的分布,这些识别结果对应的黑白条分布就构成了第i个码片的位置搜索空间,如图3b中所示。
在203中,在构建的位置搜索空间中进行搜索匹配,以使得匹配得到的各码片的识别结果对应的黑白条分布与待识别条码区域各码片的灰度分布之间的相似度满足预设要求。
对于待识别条码区域第i个码片而言,其灰度分布与该码片的位置搜索空间中识别结果为k时对应的黑白条的相似度F(Ipin_i,Modelk),可以采用如下公式计算:
Figure GDA0002914073430000151
其中,n为码片中黑白条的编码,An为第i个码片的识别结果为k时第n个黑白条与待识别条码区域对应位置像素点之间的灰度值相似度。
Figure GDA0002914073430000152
其中,f(x,1)表示像素点x与白条之间的灰度值相似度,f(x,-1)表示像素点x与黑条之间的灰度值相似度。
对于理想情况下的条码图像,白条的灰度均值为255,黑条的灰度均值为0。但在实际情况下,受到光照、摄像头对焦等影响,白色条码的灰度均值和黑色条码的灰度均值可能并非如此,为了降低这种情况下对上述相似度计算的影响,可以采用如下处理方式:
假设待识别条码区域白色条码的像素点灰度均值和方差分别为μwhite和σwhite,黑色条码的像素点灰度均值和方差分别为μblack和σblack,那么μwhite和μblack分别为:
Figure GDA0002914073430000153
Figure GDA0002914073430000154
即μwhite取条码区域各像素点的灰度值大于条码区域各像素点的灰度平均值的平均值。μblack取条码区域各像素点的灰度值小于条码区域各像素点的灰度平均值的平均值。
那么,条码区域中各像素点分别按照如下公式处理:
I(x)=MIN(I(x),μwhite) (8)
I(x)=MAX(I(x),μblack) (9)
也就是说,若条码区域中像素点x的灰度值I(x)的取值大于μwhite的取值,则利用μwhite的取值更新I(x)的取值,即条码区域中白条的像素点x的灰度值取该点的实际灰度值与μwhithe中的较小值。若条码区域中像素点x的灰度值I(x)的取值小于μblack的取值,则利用μblack的取值更新I(x)的取值,即条码区域中黑条的像素点x的灰度值取该点的实际灰度值与μblack中的较大值。
那么,
Figure GDA0002914073430000161
Figure GDA0002914073430000162
可以看出,公式(8)和(9)的处理能够确保灰度值越大的点与白条的相似度越大,灰度值越小的点与黑条的相似度越大。当然,公式(8)和(9)所代表的处理是本发明实施例提供的优选处理,并非必要步骤。
根据公式(5)可知,相似度函数是求得连续一行像素点对应的函数值之和,利用积分线技术进行加速。
Figure GDA0002914073430000163
那么,公式(5)可以简化为:
An=sum_f(pin_i_k_(j+1),(-1)j)-sum_f(pin_i_k_j,(-1)j) (13)
將连加操作变成两个积分和一个减法操作,可以大大加速运算速度。
最终,匹配得到的各码片的识别结果对应的黑白条分布与待识别条码区域各码片的灰度分布之间的相似度可以为:
Figure GDA0002914073430000171
其中,M为待识别条码区域的码片总数,其由条码所采用的编码模式决定。
在本发明实施例中,上述的相似度满足的预设要求可以包括:匹配得到的各码片的识别结果对应的黑白条分布与待识别条码区域各码片的灰度分布之间的相似度最大。
作为一种优选的实施方式,可以通过求全局最优解的方式得到识别结果。即可以利用待识别条码区域各码片的灰度分布与各码片的数字模型所对应的灰度分布之间的相似度,构建识别函数;然后在构建的位置搜索空间中搜索该识别函数的最优解,该最优解构成的数字序列就是本次识别得到的识别结果。
例如可以构建出识别函数:
Figure GDA0002914073430000172
从待识别条码区域中各数字所对应的码片的位置搜索空间中,确定各码片对应的识别结果k使得C(Ipin)的值最大,也就是求识别函数C(Ipin)的最优解;然后将各码片对应的识别结果k构成的数字序列作为待识别条码区域的识别结果。
另外,在构建识别函数时,还可以进一步考虑码片之间是否相互重叠。在实际情况中,条码区域中各码片之间是不能重叠的,因此上述识别函数C(Ipin)也可以采用如下公式:
Figure GDA0002914073430000181
其中,dis(pin_end_i,pin_begin_(i+1))表示第i+1个码片的起始位置与第i个码片的结束位置之间的距离。这种情况下,公式(15)表明,与待识别条码区域的灰度值分布的相似度越大,且码片之间没有重叠时,函数值越优。
对于求全局最优解的方式本发明并不加以限制,可以采用任何能够实现的数学算法,例如动态规划算法等。
在204中,对识别结果进行校验。
在确定出识别结果后,可以采用现有技术中的校验方式,即利用最后一位数字即校验码进行校验。即按照预设的校验码生成规则,对识别结果中除了最后1位之外的数字进行校验码计算,判断计算出的校验码与识别结果中的最后1位是否一致,如果是,则确定识别结果正确;否则确定识别结果错误。
以EAN-13为例简单说明校验码的计算过程,即校验码生成规则。首先将识别结果从后向前进行顺序编号;从序号2开始,所有偶数位的数字求和;将求和得到的结果乘以3;从序号3开始,所有奇数位的数字求和;将两次求和的结果相加;用大于或等于相加得到的结果且为10的最小整数倍的数减去相加得到的结果,就得到校验码的值。
除了这种校验方式之外,由于上述识别的过程是前向识别,在本发明实施例中还可以采用逆向识别的方式再次进行识别,然后利用逆向识别结果对前向识别结果进行校验。
即按照从后向前的顺序,重新转至步骤201开始执行,得到逆向的识别结果,将逆向的识别结果与从前向后的识别结果进行比对,判断是否是其数字倒序,如果是,则确定校验成功,输出从前之后的识别结果;否则可以认为校验失败。
需要说明的是,上述方法的执行主体可以为条码识别装置,该装置可以位于本地终端的应用,或者还可以为位于本地终端的应用中的插件或软件开发工具包(SoftwareDevelopment Kit,SDK)等功能单元,或者,还可以位于服务器端,本发明实施例对此不进行特别限定。
图4为本发明实施例提供的条码识别装置的结构示意图,该装置可以包括:确定单元11、构建单元12、搜索匹配单元13和结果确定单元14,还可以包括:校验单元15。其中各组成单元的主要功能如下:
确定单元11负责按照第一顺序,确定待识别条码区域中各码片的起始位置。其中第一顺序可以是按照条码从前至后的顺序。具体地,确定单元11可以利用待识别条码区域的起始点位置以及待识别条码所采用的码片模型,得到待识别条码区域中各码片的起始位置。
例如采用公式pin_begin_i=bar_begin+C1*base_wd+C2*(i-1)*base_wd,确定待识别条码区域中第i个码片的起始位置pin_begin_i;其中,bar_begin为待识别条码区域的起始点位置,base_wd为所述待识别条码区域的单位条宽度。参数C1和C2由待识别条码所采用的码片模型决定。
构建单元12负责构建待识别条码区域中各码片的位置搜索空间,各位置搜索空间包含本码片的识别结果若为数字k时对应的各黑白条分布,k为对数字0~9的正整数穷举。
具体地,构建单元12可以采用pin_i_k_j=pin_i_k_0+model[k][j-1]*base_wd,确定第i个码片的识别结果为k时对应的黑白条位置点j的位置pin_i_k_j。其中pin_i_k_0为第i个码片的起始位置,model[k][j-1]的取值通过查询数字模型获取,数字模型包含有码片中识别结果为k时对应的黑白条位置点信息,base_wd为待识别条码区域的单位条宽度。
除此之外,确定单元11还可以进一步确定第i个码片的起始位置的误差Δbegin以及所述base_wd的误差Δbase_wd
搜索匹配单元13负责在位置搜索空间中进行搜索匹配,以使得匹配得到的各码片的识别结果对应的黑白条分布与待识别条码区域各码片的灰度分布之间的相似度满足预设要求。其中,预设要求可以包括:匹配得到的各码片的识别结果对应的黑白条分布与待识别条码区域各码片的灰度分布之间的相似度最大。
具体地,搜索匹配单元13可以利用待识别条码区域各码片的灰度分布与各码片的数字模型所对应的灰度分布之间的相似度,构建识别函数,其中数字模型包含有码片中识别结果为k时对应的黑白条位置点信息;在构建的位置搜索空间中搜索识别函数的最优解。
其中,识别函数可以为:
Figure GDA0002914073430000211
其中,F(Ipin_i,Modelk)为待识别条码区域第i个码片的灰度分布与该码片的数字模型所对应的灰度分布之间的相似度,数字模型包含有码片中识别结果为k时对应的黑白条位置点信息,所述M为所述待识别条码区域包含的码片总数。
F(Ipin_i,Modelk)可以采用如下方式确定:
Figure GDA0002914073430000212
其中,An=sum_f(pin_i_k_(j+1),(-1)j)-sum_f(pin_i_k_j,(-1)j);n为码片中黑白条的编码,函数
Figure GDA0002914073430000213
函数f(x,1)为待识别条码区域中像素点x与数字模型中对应白条的灰度相似度,函数f(x,-1)为待识别条码区域中像素点x在与数字模型中对应黑条的灰度相似度,pin_i_k_j为第i个码片的识别结果为k时对应的第j个黑白条位置点,pin_i_k_(j+1)为第i个码片的识别结果为k时对应的第j+1个黑白条位置点。
具体地,f(x,1)可以采用如下方式确定:
Figure GDA0002914073430000214
其中,μwhite和σwhite分别为待识别条码区域白色条码的像素点灰度均值和方差,I(x)为待识别条码区域中像素点x的灰度值。
f(x,-1)可以采用如下方式确定:
Figure GDA0002914073430000215
其中,μblack和σblack分别为待识别条码区域黑色条码的像素点灰度均值和方差。
在确定μwhite和μblack时,可以将待识别条码区域各像素点的灰度值大于待识别条码区域各像素点的灰度平均值的平均值,确定为μwhite。将待识别条码区域各像素点的灰度值小于待识别条码区域各像素点的灰度平均值的平均值,确定为μblack
更进一步地,若I(x)的取值大于μwhite的取值,则可以利用μwhite的取值更新所述I(x)的取值;若I(x)的取值小于μblack的取值,则利用μblack的取值更新所述I(x)的取值。这种处理能够确保灰度值越大的点与白条的相似度越大,灰度值越小的点与黑条的相似度越大。
优选地,搜索匹配单元13在构建识别函数时,还可以进一步利用相邻码片最近点之间的距离,从而保证最优解中相邻码片之间不重叠。此时的识别函数可以如公式(15)中所示。
结果确定单元14负责确定匹配得到的各码片的识别结果所构成的数字序列为待识别条码区域的识别结果。
更进一步地,校验单元15可以对搜索匹配单元13匹配得到的各码片的识别结果所构成的数字序列进行校验。在校验单元15的校验结果为是时,结果确定单元14确定匹配得到的各码片的识别结果所构成的数字序列为待识别条码区域的识别结果。
其中,校验单元15可以触发确定单元11按照第二顺序,确定待识别条码区域中各码片的起始位置;并将按照第二顺序搜索匹配单元13匹配得到的各码片的识别结果所构成的数字序列与按照第一顺序搜索匹配单元13匹配得到的各码片的识别结果所构成的数字序列进行比对,判断是否互为数字倒序,如果是,则确定校验成功;否则,校验失败。
本发明实施例提供的上述方法和装置可以以设置并运行于设备中的计算机程序体现。如图5所示,该设备可以包括一个或者多个处理器,耦合到所述存储器,执行所述一个或者多个程序,以实现本发明上述实施例中所示的方法流程和/或装置操作。例如:
按照第一顺序,确定待识别条码区域中各码片的起始位置;
构建待识别条码区域中各码片的位置搜索空间,各位置搜索空间包含本码片的识别结果若为数字k时对应的各黑白条分布,所述k为对数字0~9的穷举;
在位置搜索空间中进行搜索匹配,以使得匹配得到的各码片的识别结果对应的黑白条分布与待识别条码区域各码片的灰度分布之间的相似度满足预设要求;
确定匹配得到的各码片的识别结果所构成的数字序列为待识别条码区域的识别结果。
上述设备可以包括但不限于诸如:智能移动终端、智能家居设备、网络设备、可穿戴式设备、智能医疗设备、PC(个人计算机)等。其中智能移动设备可以包括诸如手机、平板电脑、笔记本电脑、PDA(个人数字助理)、互联网汽车等。智能家居设备可以包括智能家电设备,诸如智能电视、智能空调、智能热水器、智能冰箱、智能空气净化器等等,智能家居设备还可以包括智能门锁、智能插座、智能电灯、智能摄像头等。网络设备可以包括诸如交换机、无线AP、服务器等。可穿戴式设备可以包括诸如智能手表、智能眼镜、智能手环、虚拟现实设备、增强现实设备、混合现实设备(即可以支持虚拟现实和增强现实的设备)等等。智能医疗设备可以包括诸如智能体温计、智能血压仪、智能血糖仪等等。
为了说明本申请的效果,以图6所示条码图像为例,在图6所示条码图像中,条码区域十分模糊,其中一段条码对应的灰度状况如图6中下半部分的曲线图中曲线2所示。若条码图像非常清晰,理想状况下的灰度曲线应该如曲线1所示。对于曲线2所示的状况,若采用二值化分割的方式,可能会造成如图6中的横坐标所示的位置点32~36部分的分割出现误差,从而导致整个识别结果错误。但由于本申请中采用的是基于灰度分布的相似度方式,即考虑得是整个条码区域的灰度分布,求解所有可能的识别结果(即本申请的位置搜索空间)中与整个条码区域的灰度分布相似度的最优解,显然更容易准确地得到识别结果。
在此列举一个应用场景:
在购物类APP上,用户通过诸如手机、平板电脑等终端设备打开购物类APP,进入扫码界面。购物类APP通过调用摄像头,就能够拍摄到某商品的条码图像。
然后购物类APP将条码图像上传至服务器端,由服务器端执行本发明实施例提供的条码识别方法,并将条码识别的结果返回给购物类APP。或者进一步基于条码识别的结果进行商品信息的搜索,从而将搜索得到的商品信息返回给购物类APP。
若由购物类APP完成条码识别的处理,则可以将条码识别的结果上传给服务器端,由服务器端基于条码识别的结果进行商品信息的搜索,从而将搜索得到的商品信息返回给购物类APP。
通过该应用场景,用户扫描商品上的条码就能够获取到关于该商品的信息,例如是否为正品、产地是哪里、哪里能够买到,等等。
由以上描述可以看出,本发明提供的方法、装置和设备可以具备以下优点:
1)本发明依据条码的灰度分布来进行条码识别,相比较现有基于二值化分割或边缘提取的方式,提高了识别准确率,即便条码图像不清晰,也能够较准确地进行条码识别,实现模糊条码识别。
2)本发明通过构建识别函数,采用求全局最优解的方式得到识别结果,进一步提高了识别准确率。
3)在确定待识别条码区域各码片的灰度分布与各码片的数字模型所对应的灰度分布之间的相似度时,采用了积分线技术,从而提高了计算效率,降低了计算量。
4)本发明采用正、逆双向识别的校验方式,若双向识别的结果互为数字倒序,则认为校验通过。这种方式相比较现有采用校验码的校验方式,能够降低误识别率。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (29)

1.一种条码识别方法,其特征在于,该方法包括:
确定待识别条码区域中各码片的起始位置;
根据所述各码片的起始位置,构建待识别条码区域中各码片的位置搜索空间,位置搜索空间包含对应码片的识别结果若为数字k时对应的各条的分布,所述k为对数字0~9的正整数穷举;
在所述位置搜索空间中进行搜索匹配,以使得匹配得到的各码片的识别结果对应的条的分布与待识别条码区域各码片的灰度分布之间的相似度满足预设要求;
确定所述匹配得到的各码片的识别结果所构成的数字序列为所述待识别条码区域的识别结果。
2.根据权利要求1所述的方法,其特征在于,所述确定待识别条码区域中各码片的起始位置包括:
利用所述待识别条码区域的起始点位置以及待识别条码所采用的码片模型,得到所述待识别条码区域中各码片的起始位置。
3.根据权利要求2所述的方法,其特征在于,利用所述待识别条码区域的起始点位置以及待识别条码所采用的码片模型,得到所述待识别条码区域中各码片的起始位置包括:
采用公式pin_begin_i=bar_begin+C1*base_wd+C2*(i-1)*base_wd,确定所述待识别条码区域中第i个码片的起始位置pin_begin_i;
其中,所述bar_begin为所述待识别条码区域的起始点位置,所述base_wd为所述待识别条码区域的单位条宽度,参数C1和C2由所述待识别条码所采用的码片模型决定。
4.根据权利要求1所述的方法,其特征在于,所述构建待识别条码区域中各码片的位置搜索空间包括:
采用pin_i_k_j=pin_i_k_0+model[k][j-1]*base_wd,确定第i个码片的识别结果为k时对应的各条的位置点j的位置pin_i_k_j;
其中所述pin_i_k_0为所述第i个码片的起始位置,model[k][j-1]的取值通过查询数字模型获取,所述数字模型包含有码片中识别结果为k时对应的各条的位置点信息,所述base_wd为所述待识别条码区域的单位条宽度。
5.根据权利要求1所述的方法,其特征在于,所述预设要求包括:匹配得到的各码片的识别结果对应的条的分布与待识别条码区域各码片的灰度分布之间的相似度最大。
6.根据权利要求5所述的方法,其特征在于,在所述位置搜索空间中进行搜索匹配,以使得匹配得到的各码片的识别结果对应的条的分布与待识别条码区域各码片的灰度分布之间的相似度满足预设要求,包括:
利用待识别条码区域各码片的灰度分布与各码片的数字模型所对应的灰度分布之间的相似度,构建识别函数,其中所述数字模型包含有码片中识别结果为k时对应的各条的位置点信息;
在构建的位置搜索空间中搜索所述识别函数的最优解。
7.根据权利要求6所述的方法,其特征在于,所述识别函数为:
Figure FDA0002824988390000031
所述识别函数中的F(Ipin_i,Modelk)为待识别条码区域第i个码片的灰度分布与该码片的数字模型所对应的灰度分布之间的相似度,所述数字模型包含有码片中识别结果为k时对应的各条的位置点信息,所述M为所述待识别条码区域包含的码片总数。
8.根据权利要求7所述的方法,其特征在于,所述F(Ipin_i,Modelk)采用如下方式确定:
Figure FDA0002824988390000032
所述An=sum_f(pin_i_k_(j+1),(-1)j)-sum_f(pin_i_k_j,(-1)j);
其中所述n为码片中各条的编码,函数
Figure FDA0002824988390000033
当j等于偶数时,所述函数sum_f(x,(-1)j中的f(x,(-1)j为f(x,1),所述f(x,1)为待识别条码区域中像素点x与所述数字模型中对应第一色条的灰度相似度;当j等于奇数时,所述函数sum_f(x,(-1)j中的f(x,(-1)j为f(x,-1),所述f(x,-1)为待识别条码区域中像素点x在与所述数字模型中对应第二色条的灰度相似度,pin_i_k_j为第i个码片的识别结果为k时对应的第j个条的位置点,pin_i_k_(j+1)为第i个码片的识别结果为k时对应的第j+1个条的位置点。
9.根据权利要求8所述的方法,其特征在于,所述f(x,1)采用如下方式确定:
Figure FDA0002824988390000034
其中,μwhite和σwhite分别为待识别条码区域第一色条的像素点灰度均值和方差,所述
Figure FDA0002824988390000041
中的I(x)为待识别条码区域中像素点x的灰度值;
所述f(x,-1)采用如下方式确定:
Figure FDA0002824988390000042
其中,所述μblack和σblack分别为待识别条码区域第二色条的像素点灰度均值和方差。
10.根据权利要求9所述的方法,其特征在于,该方法还包括:
将所述待识别条码区域各像素点的灰度值大于待识别条码区域各像素点的灰度平均值的平均值,确定为所述μwhite
将所述待识别条码区域各像素点的灰度值小于待识别条码区域各像素点的灰度平均值的平均值,确定为所述μblack
11.根据权利要求9所述的方法,其特征在于,该方法还包括:
若所述I(x)的取值大于μwhite的取值,则利用μwhite的取值更新所述I(x)的取值;
若所述I(x)的取值小于μblack的取值,则利用μblack的取值更新所述I(x)的取值。
12.根据权利要求6所述的方法,其特征在于,在所述构建识别函数时,进一步利用相邻码片最近点之间的距离;
所述最优解中相邻码片之间不重叠。
13.根据权利要求1所述的方法,其特征在于,确定所述匹配得到的各码片的识别结果所构成的数字序列为所述待识别条码区域的识别结果包括:
对所述匹配得到的各码片的识别结果所构成的数字序列进行校验,如果校验通过,则将所述匹配得到的各码片的识别结果所构成的数字序列确定为所述待识别条码区域的识别结果。
14.根据权利要求13所述的方法,其特征在于,对所述匹配得到的各码片的识别结果所构成的数字序列进行校验包括:
按照第二顺序,转至执行所述确定待识别条码区域中各码片的起始位置的步骤,其中所述第二顺序与第一顺序相反,所述第一顺序为确定待识别条码区域中各码片的起始位置所按照的顺序;
将按照第二顺序匹配得到的各码片的识别结果所构成的数字序列与按照第一顺序匹配得到的各码片的识别结果所构成的数字序列进行比对,判断是否互为数字倒序,如果是,则确定校验成功;否则,校验失败。
15.一种电子设备,包括
存储器,包括一个或者多个程序;
一个或者多个处理器,耦合到所述存储器,执行所述一个或者多个程序,以实现:
确定待识别条码区域中各码片的起始位置;
根据所述各码片的起始位置,构建待识别条码区域中各码片的位置搜索空间,各位置搜索空间包含对应码片的识别结果若为数字k时对应的各条的分布,所述k为对数字0~9的正整数穷举;
在所述位置搜索空间中进行搜索匹配,以使得匹配得到的各码片的识别结果对应的条的分布与待识别条码区域各码片的灰度分布之间的相似度满足预设要求;
确定所述匹配得到的各码片的识别结果所构成的数字序列为所述待识别条码区域的识别结果。
16.一种条码识别装置,其特征在于,该装置包括:
确定单元,用于按照确定待识别条码区域中各码片的起始位置;
构建单元,用于根据所述各码片的起始位置,构建待识别条码区域中各码片的位置搜索空间,各位置搜索空间包含对应码片的识别结果若为数字k时对应的各条的分布,所述k为对数字0~9的正整数穷举;
搜索匹配单元,用于在所述位置搜索空间中进行搜索匹配,以使得匹配得到的各码片的识别结果对应的条的分布与待识别条码区域各码片的灰度分布之间的相似度满足预设要求;
结果确定单元,用于确定所述匹配得到的各码片的识别结果所构成的数字序列为所述待识别条码区域的识别结果。
17.根据权利要求16所述的装置,其特征在于,所述确定单元,具体用于利用所述待识别条码区域的起始点位置以及待识别条码所采用的码片模型,得到所述待识别条码区域中各码片的起始位置。
18.根据权利要求17所述的装置,其特征在于,所述确定单元,具体用于:
采用公式pin_begin_i=bar_begin+C1*base_wd+C2*(i-1)*base_wd,确定所述待识别条码区域中第i个码片的起始位置pin_begin_i;
其中,所述bar_begin为所述待识别条码区域的起始点位置,所述base_wd为所述待识别条码区域的单位条宽度,参数C1和C2由所述待识别条码所采用的码片模型决定。
19.根据权利要求16所述的装置,其特征在于,所述构建单元,具体用于:
采用pin_i_k_j=pin_i_k_0+model[k][j-1]*base_wd,确定第i个码片的识别结果为k时对应的各条的位置点j的位置pin_i_k_j;
其中所述pin_i_k_0为所述第i个码片的起始位置,model[k][j-1]的取值通过查询数字模型获取,所述数字模型包含有码片中识别结果为k时对应的各条的位置点信息,所述base_wd为所述待识别条码区域的单位条宽度。
20.根据权利要求16所述的装置,其特征在于,所述预设要求包括:匹配得到的各码片的识别结果对应的条的分布与待识别条码区域各码片的灰度分布之间的相似度最大。
21.根据权利要求20所述的装置,其特征在于,所述搜索匹配单元,具体用于:
利用待识别条码区域各码片的灰度分布与各码片的数字模型所对应的灰度分布之间的相似度,构建识别函数,其中所述数字模型包含有码片中识别结果为k时对应的各条的位置点信息;
在构建的位置搜索空间中搜索所述识别函数的最优解。
22.根据权利要求21所述的装置,其特征在于,所述识别函数为:
Figure FDA0002824988390000071
所述识别函数中的F(Ipin_i,Modelk)为待识别条码区域第i个码片的灰度分布与该码片的数字模型所对应的灰度分布之间的相似度,所述数字模型包含有码片中识别结果为k时对应的各条的位置点信息,所述M为所述待识别条码区域包含的码片总数。
23.根据权利要求22所述的装置,其特征在于,所述F(Ipin_i,Modelk)采用如下方式确定:
Figure FDA0002824988390000081
所述An=sum_f(pin_i_k_(j+1),(-1)j)-sum_f(pin_i_k_j,(-1)j);
其中所述n为码片中各条的编码,函数
Figure FDA0002824988390000082
当j等于偶数时,所述函数sum_f(x,(-1)j中的f(x,(-1)j为f(x,1),所述f(x,1)为待识别条码区域中像素点x与所述数字模型中对应第一色条的灰度相似度;当j等于奇数时,所述函数sum_f(x,(-1)j中的f(x,(-1)j为f(x,-1),所述f(x,-1)为待识别条码区域中像素点x在与所述数字模型中对应第二色条的灰度相似度,pin_i_k_j为第i个码片的识别结果为k时对应的第j个条的位置点,pin_i_k_(j+1)为第i个码片的识别结果为k时对应的第j+1个条的位置点。
24.根据权利要求23所述的装置,其特征在于,所述f(x,1)采用如下方式确定:
Figure FDA0002824988390000083
其中,μwhite和σwhite分别为待识别条码区域第一色条的像素点灰度均值和方差,所述
Figure FDA0002824988390000084
中的I(x)为待识别条码区域中像素点x的灰度值;
所述f(x,-1)采用如下方式确定:
Figure FDA0002824988390000091
其中,所述μblack和σblack分别为待识别条码区域第二色条的像素点灰度均值和方差。
25.根据权利要求24所述的装置,其特征在于,所述搜索匹配单元,还用于将所述待识别条码区域各像素点的灰度值大于待识别条码区域各像素点的灰度平均值的平均值,确定为所述μwhite
将所述待识别条码区域各像素点的灰度值小于待识别条码区域各像素点的灰度平均值的平均值,确定为所述μblack
26.根据权利要求24所述的装置,其特征在于,所述搜索匹配单元,还用于:若所述I(x)的取值大于μwhite的取值,则利用μwhite的取值更新所述I(x)的取值;
若所述I(x)的取值小于μblack的取值,则利用μblack的取值更新所述I(x)的取值。
27.根据权利要求21所述的装置,其特征在于,所述搜索匹配单元在构建识别函数时,利用相邻码片最近点之间的距离;
所述最优解中相邻码片之间不重叠。
28.根据权利要求16所述的装置,其特征在于,该装置还包括:
校验单元,用于对所述搜索匹配单元匹配得到的各码片的识别结果所构成的数字序列进行校验;
所述结果确定单元在所述校验单元的校验结果为是时,确定所述匹配得到的各码片的识别结果所构成的数字序列为所述待识别条码区域的识别结果。
29.根据权利要求28所述的装置,其特征在于,所述校验单元,用于触发所述确定单元按照第二顺序,确定待识别条码区域中各码片的起始位置;并将按照第二顺序所述搜索匹配单元匹配得到的各码片的识别结果所构成的数字序列与按照第一顺序所述搜索匹配单元匹配得到的各码片的识别结果所构成的数字序列进行比对,判断是否互为数字倒序,如果是,则确定校验成功;否则,校验失败。
CN201610975814.6A 2016-11-07 2016-11-07 一种条码识别方法、设备和装置 Active CN108073848B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610975814.6A CN108073848B (zh) 2016-11-07 2016-11-07 一种条码识别方法、设备和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610975814.6A CN108073848B (zh) 2016-11-07 2016-11-07 一种条码识别方法、设备和装置

Publications (2)

Publication Number Publication Date
CN108073848A CN108073848A (zh) 2018-05-25
CN108073848B true CN108073848B (zh) 2021-03-12

Family

ID=62153937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610975814.6A Active CN108073848B (zh) 2016-11-07 2016-11-07 一种条码识别方法、设备和装置

Country Status (1)

Country Link
CN (1) CN108073848B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110874538B (zh) * 2018-08-29 2023-06-02 杭州海康威视数字技术股份有限公司 对条形码的译码结果的评测方法、装置及电子设备
CN109902529B (zh) * 2019-03-01 2022-05-03 成都信息工程大学 一种基于波形匹配的一维条码识别方法及系统
CN113761960B (zh) * 2020-09-07 2023-09-22 北京京东振世信息技术有限公司 用于识别条形码的方法和装置
CN114372547B (zh) * 2021-12-22 2023-10-13 广西柳钢东信科技有限公司 一种用于钢材编号标识的二维条形码设计方法
CN116385742B (zh) * 2023-03-20 2024-04-12 北京兆讯恒达技术有限公司 一种低质量条码图像信号提取方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103034831A (zh) * 2011-09-30 2013-04-10 无锡爱丁阁信息科技有限公司 线性条码识别方法和系统
CN103034830A (zh) * 2011-09-30 2013-04-10 无锡爱丁阁信息科技有限公司 条码解码方法及装置
CN103632124A (zh) * 2013-12-16 2014-03-12 百度在线网络技术(北京)有限公司 条码的识别方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8146816B2 (en) * 2008-10-08 2012-04-03 International Business Machines Corporation Multi-modal one-dimensional barcodes
US8550349B2 (en) * 2011-08-25 2013-10-08 International Business Machines Corporation System for recovering a barcode
US9870565B2 (en) * 2014-01-07 2018-01-16 Joshua Migdal Fraudulent activity detection at a barcode scanner by verifying visual signatures

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103034831A (zh) * 2011-09-30 2013-04-10 无锡爱丁阁信息科技有限公司 线性条码识别方法和系统
CN103034830A (zh) * 2011-09-30 2013-04-10 无锡爱丁阁信息科技有限公司 条码解码方法及装置
CN103632124A (zh) * 2013-12-16 2014-03-12 百度在线网络技术(北京)有限公司 条码的识别方法及装置

Also Published As

Publication number Publication date
CN108073848A (zh) 2018-05-25

Similar Documents

Publication Publication Date Title
CN108073848B (zh) 一种条码识别方法、设备和装置
CN108875522B (zh) 人脸聚类方法、装置和系统及存储介质
CN109376631B (zh) 一种基于神经网络的回环检测方法及装置
US8733650B1 (en) Decoding barcodes from images with varying degrees of focus
CN111783875A (zh) 基于聚类分析的异常用户检测方法、装置、设备及介质
CN113283446B (zh) 图像中目标物识别方法、装置、电子设备及存储介质
CN103582884A (zh) 用于视觉搜索的稳健特征匹配
CN106372624B (zh) 人脸识别方法及系统
WO2021169257A1 (zh) 人脸识别
Park et al. Recognition of partially occluded objects using probabilistic ARG (attributed relational graph)-based matching
CN111767819A (zh) 一种图像识别方法、装置、电子设备和计算机可读介质
US20180181804A1 (en) Data normalization for handwriting recognition
CN112560710B (zh) 一种用于构建指静脉识别系统的方法及指静脉识别系统
CN116311214B (zh) 车牌识别方法和装置
CN105787897A (zh) 一种模糊二维码图像的处理方法及装置
CN100371945C (zh) 一种计算机辅助书法作品真伪鉴别方法
CN101923632B (zh) Maxi Code条码解码芯片及其解码方法
CN116168410B (zh) 一种基于神经网络的药盒信息识别方法及系统
CN116824647A (zh) 图像伪造识别方法、网络训练方法、装置、设备及介质
Huang et al. RWBD: learning robust weighted binary descriptor for image matching
CN113033271A (zh) 利用人工智能模块学习脸部辨识的处理方法
CN115798004A (zh) 基于局部区域的人脸打卡方法、装置、电子设备及介质
CN114387603A (zh) 用于对汉字进行检纠错的方法、系统和计算设备
CN113505716A (zh) 静脉识别模型的训练方法、静脉图像的识别方法及装置
CN113743194A (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: 20201118

Address after: Room 603, 6 / F, Roche Plaza, 788 Cheung Sha Wan Road, Kowloon, China

Applicant after: Zebra smart travel network (Hong Kong) Limited

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

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