CN103034830B - 条码解码方法及装置 - Google Patents
条码解码方法及装置 Download PDFInfo
- Publication number
- CN103034830B CN103034830B CN201110291476.1A CN201110291476A CN103034830B CN 103034830 B CN103034830 B CN 103034830B CN 201110291476 A CN201110291476 A CN 201110291476A CN 103034830 B CN103034830 B CN 103034830B
- Authority
- CN
- China
- Prior art keywords
- bar code
- feature vector
- vectors
- standard feature
- blur level
- 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
Landscapes
- Image Processing (AREA)
Abstract
本发明公开了一种条码解码方法和装置,所述方法包括:估计图像的模糊度;根据所述模糊度从若干标准特征矢量集中选择对应的一个标准特征矢量集,每一个标准特征矢量集对应一个模糊度范围并包括若干标准特征矢量;从图像中提取条码的所有条码数据符对应的测试特征矢量;和利用所述条码的所有条码数据符对应的测试特征矢量和选择的标准特征矢量集解码得到所述条码的条码值。这样,针对不同的模糊度范围选定了不同的标准特征矢量集进行解码,从而可以在图像模糊的情况下仍能实现对条码的正确解码。
Description
【技术领域】
本发明涉及线性条码(linear barcode)识别领域,尤其涉及一种条码解码方法及装置。
【背景技术】
线性条码也常被称为一维条码(1D barcode),其是将宽度不等的若干黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。目前在工业和民用领域应用得非常广泛。常见的线性条码包括统一商品码(Universal Product Code,简称UPC码)、欧洲商品编码(European ArticleNumber,简称EAN码)、日本商品编码(Japanese Article Number,简称JAN码)、Code 25、Code 39,Code 128等等。
常用的条码扫描设备通常由光源(比如激光)、光学透镜、感光器件(例如CCD,CMOS等)、解码逻辑电路和I/O接口等组件构成。简单来讲,所述光源投射光至条码上,从条码处反射的光透过所述光学透镜进入感光器件表面,经过光电转换、模数转换等一系列处理后形成条码的数字图像,然后解码逻辑电路对摄取的图像进行分析和解码。
目前的条码扫描设备一般都是专用的条码扫描设备,比如商场内的与零售系统连接的条码扫描器、图书馆内的与图书管理系统连接的条码扫描器或医院内的与电脑系统连接的条码扫描器,其可以采集到高质量的条码图像,这样可以较为容易的实现条码的解码。
很多便携式电子设备比如手机、PDA(个人数字助理)等都配置有摄像头装置,利用所述摄像头装置用户可以进行拍摄照片和视频等应用。对于较低配置的摄像头模组,比如存在于大量中低端手机中的摄像头模组,由于是采用定焦镜头(fixed-focus lens),导致拍摄的图像经常由于对焦不准而处于模糊状态。这样,该类条码图像由于图像模糊而难以用传统的条码解码技术解码。
因此,有必要提出一种改进的条码解码方法及装置。
【发明内容】
本发明要解决的技术问题之一在于提供一种条码解码方法,其可以实现对模糊图像的准确解码。
本发明要解决的技术问题之一在于提供一种条码解码装置,其可以实现对模糊图像的准确解码。
为了解决上述问题,根据本发明的一个方面,本发明提供了一种条码解码方法,其包括:估计图像的模糊度;根据所述模糊度从若干标准特征矢量集中选择对应的一个标准特征矢量集,每一个标准特征矢量集对应一个模糊度范围并包括若干标准特征矢量;从图像中提取条码的所有条码数据符对应的测试特征矢量;和利用所述条码的所有条码数据符对应的测试特征矢量和选择的标准特征矢量集解码得到所述条码的条码值。
进一步的,基于所述条码的条形区域与背景区域之间的过度区域的宽度确定所述模糊度。
更进一步的,所述条码的条形区域与背景区域之间的过度区域的宽度的计算包括:统计条形区域和背景区域之间的过度区域附近的像素点的灰度值;利用统计到的像素点的灰度值统计相邻像素点的灰度值差异;将统计的相邻像素点的灰度值差异与预定灰度值差异门限值进行对比来判定所述过渡区域和所述背景区域的第一过度边界以及所述过渡区域与所述条形区域的第二过度边界;和计算所述过度区域的两个过度边界之间的宽度。
进一步的,基于条码类型所定义的一个或若干个标准条码数据符生成对应模糊度范围的一个标准特征矢量。
进一步的,从图像中提取条码的条码数据符对应的测试特征矢量包括:根据从图像中提取的条码的边界信息确定所述条码的每个条码数据符的位置;根据所述条码的每个条码数据符的位置从图像中提取灰度信息,并基于提取的灰度信息生成该条码数据符对应的测试特征矢量。
更进一步的,根据从图像中提取的条码的边界信息确定所述条码的每个条码数据符的位置还包括:根据所述模糊度和从图像中提取的条码的边界信息确定测试范围;在测试范围内依次确定所述条码的合法位置;和基于确定的所述条码的合法位置确定所述条码的每个条码数据符的位置。
更进一步的,利用所述条码的所有条码数据符对应的测试特征矢量和选择的标准特征矢量集解码得到所述条码的条码值包括:将测试特征矢量组和其在选择的标准特征矢量集中对应的若干标准特征矢量组进行相似度比较,所述测试特征矢量组为所述条码的所有条码数据符对应的测试特征矢量的组合,所述标准特征矢量组是选定的标准特征矢量集中的若干标准特征矢量的组合;确定和所述测试特征矢量组总相似度最高的标准特征矢量组,基于所述测试特征矢量组中的测试特征矢量和所述标准特征矢量组中的标准特征矢量的单相似度来确定所述测试特征矢量组和所述标准特征矢量组的总相似度;根据总相似度最高的标准特征矢量组确定所述条码的条码值。
根据本发明的另一个方面,本发明提供了一种条码解码装置,其包括:模糊度估计模块,其估计图像的模糊度;标准特征矢量集选定模块,其根据所述模糊度从若干标准特征矢量集中选择对应的一个标准特征矢量集,每一个标准特征矢量集对应一个模糊度范围并包括若干标准特征矢量;测试特征矢量提取模块,其从图像中提取条码的所有条码数据符对应的测试特征矢量;和解码模块,其利用所述条码的所有条码数据符对应的测试特征矢量和选择的标准特征矢量集解码得到所述条码的条码值。
进一步的,所述模糊度估计模块统计条形区域和背景区域之间的过度区域附近的像素点的灰度值,利用统计到的像素点的灰度值统计相邻像素点的灰度值差异,将统计的相邻像素点的灰度值差异与预定灰度值差异门限值进行对比来判定所述过渡区域和所述背景区域的第一过度边界以及所述过渡区域与所述条形区域的第二过度边界,计算所述过度区域的两个过度边界之间的宽度,基于所述过度区域的宽度确定所述模糊度。
进一步的,基于条码类型所定义的一个或若干个标准条码数据符生成对应模糊度范围的一个标准特征矢量。
进一步的,所述测试特征矢量提取模块根据从图像中提取的条码的边界信息确定所述条码的每个条码数据符的位置,根据所述条码的每个条码数据符的位置从图像中提取灰度信息,并基于提取的灰度信息生成该条码数据符对应的测试特征矢量。
更进一步的,所述解码模块将测试特征矢量组和其在选择的标准特征矢量集中对应的若干标准特征矢量组进行相似度比较,确定和所述测试特征矢量组总相似度最高的标准特征矢量组,以及根据总相似度最高的标准特征矢量组确定所述条码的条码值,其中所述测试特征矢量组为所述条码的所有条码数据符对应的测试特征矢量的组合,所述标准特征矢量组是所述标准特征矢量集中的若干标准特征矢量的组合,基于所述测试特征矢量组中的测试特征矢量和所述标准特征矢量组中的标准特征矢量的单相似度来确定所述测试特征矢量组和所述标准特征矢量组的总相似度。
与现有技术相比,在本发明中针对不同的模糊度范围设定了不同的标准特征矢量集,根据图像的模糊度来选定对应的标准特征矢量集,随后利用提取的所述条码的所有条码数据符对应的测试特征矢量和选择的标准特征矢量集进行解码以得到所述条码的条码值,这样可以在图像模糊的情况下仍能实现对条码的正确解码。
关于本发明的其他目的,特征以及优点,下面将结合附图在具体实施方式中详细描述。
【附图说明】
结合参考附图及接下来的详细描述,本发明将更容易理解,其中同样的附图标记对应同样的结构部件,其中:
图1为本发明中的条码解码方法在一个实施例中的流程示意图;
图2a和2b分别示出了两个条码的示例;
图3为本发明中的模糊度估计方法在一个实施例中的流程示意图;
图4为如图2b所示的一列穿过一个条形区域的像素点的灰度值曲线的示意图;
图5为本发明中的从图像中提取条码的条码数据符对应的测试特征矢量的方法在一个实施例中的流程示意图;
图6示出了EAN-13条码的结构示例;
图7为本发明中的利用所述条码的所有条码数据符对应的测试特征矢量和选择的标准特征矢量集解码得到所述条码的条码值的方法在一个实施例中的流程示意图;和
图8为本发明中的条码解码装置在一个实施例中的结构示意图。
【具体实施方式】
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明的详细描述主要通过程序、步骤、逻辑块、过程或其他象征性的描述来呈现,其直接或间接地模拟本发明中的技术方案的运作。所属领域内的技术人员使用此处的这些描述和陈述向所属领域内的其他技术人员有效的介绍他们的工作本质。
此处所称的“一个实施例”或“实施例”是指与所述实施例相关的特定特征、结构或特性至少可包含于本发明至少一个实现方式中。在本说明书中不同地方出现的“在一个实施例中”并非必须都指同一个实施例,也不必须是与其他实施例互相排斥的单独或选择实施例。此外,表示一个或若干实施例的方法、流程图或功能框图中的模块顺序并非固定的指代任何特定顺序,也不构成对本发明的限制。
在进行条码解码前,需要先获取连续的视频图像,可以根据应用场景对每帧视频图像进行裁剪、尺寸变换以及彩色图像转灰度图像等操作,从而生成固定尺寸的灰度图像,在灰度图像中进行条码的检测和定位得到条码的边界。本发明并不对图像的获取、预处理以及条码的检测和定位进行特别的限定,除本文有特别说明外,只要能够获得一定尺寸的灰度图像并在图像中定位到了条码的边界即可。
图1为本发明中的条码解码方法100在一个实施例中的流程示意图。如图1所示,所述条码解码方法100包括:步骤110,估计图像的模糊度;步骤120,根据所述模糊度从若干个标准特征矢量集(standard feature vector set)中选择对应的一个标准特征矢量集,每一个标准特征矢量集对应一个模糊度范围并包括若干标准特征矢量;步骤130,从图像中提取条码的所有条码数据符(symbolcharacter)对应的测试特征矢量(test feature vector);步骤140,利用所述条码的所有条码数据符对应的测试特征矢量和选择的标准特征矢量集解码得到所述条码的条码值。这样,就完成了图像中的所述条码的解码,之后可以利用所述条码值进行一些应用。
在本发明中,针对不同的模糊度范围设定了不同的标准特征矢量集,根据图像的模糊度来选定对应的标准特征矢量集,随后利用提取的所述条码的所有条码数据符对应的测试特征矢量和选择的标准特征矢量集进行解码以得到所述条码的条码值,这样可以在图像模糊的情况下仍能实现对条码的正确解码。
图2a示出了一张清晰的条码图像,图2b示出了一张模糊的条码图像,图中示出了图像的边界,条码的左边界和右边界,条形区域及其端点、背景区域。为了对所述模糊图像中的条码进行解码,需要估计图像的模糊度。现有技术中有很多种模糊度估计的方法,也有很多种模糊度表示的方式,这些都可以用于本发明的条码解码方法中。
在一个优选的实施例中,可以基于条码的条形区域与背景区域之间的过度区域的宽度来确定步骤110中的模糊度。如图2a所示,所述条形区域为黑色区域,所述背景区域为白色,在模糊前,所述条形区域和所述背景区域的边缘比较陡峭,在模糊之后,所述条形区域和所述背景区域的边缘变得比较平缓,形成一个过渡区域。如图4所示,其示出了如图2b所示的一列穿过一个条形区域的像素点的灰度值曲线,d1线的左侧为背景区域,d2线的右侧为条形区域,d1和d2之间形成过渡区域,过渡区域的宽度可以反映图像的模糊度,过渡区域的宽度越宽,图像的模糊度越高,过渡区的宽度越窄,图像的模糊度越低。
图3示出了本发明中的模糊度估计方法300在一个实施例中的流程示意图,可以用于所述条码解码方法100中去估计图像的模糊度。如图3所示,所述模糊度估计方法300包括如下步骤。
步骤310,统计条形区域和背景区域之间的过度区域附近的像素点的灰度值。
在一个实施例中,在进行模糊度估计之前,之前已经进行的条码检测可能已经检测到了若干条形区域及其端点,如图2a所示,那么可以选定一个条形区域,在该条形区域的端点附近沿条形区域的方向统计条形区域和背景区域之间的过度区域附近的像素点的灰度值。
在另一个实施例中,在进行模糊度估计之前,之前已经进行的条码定位可能已经检测到了条码的左右边界,如图2b所示,那么可以选定一个边界点,在该边界点附近沿垂直于条形区域的方向统计条形区域和背景区域之间的过度区域附近的像素点的灰度值。
在其他实施里中,也可以在其他位置统计条形区域和背景区域的过度区域附近的像素点的灰度值。
步骤320,利用统计到的像素点的灰度值统计相邻像素点的灰度值差异。
步骤330,将统计的相邻像素点的灰度值差异与预定灰度值差异门限值进行对比来判定所述过渡区域和所述背景区域的第一过度边界以及所述过渡区域与所述条形区域的第二过度边界。如图4所示,d1线可以表示所述过渡区域和所述背景区域的第一过度边界,d2可以表示所述过渡区域与所述条形区域的第二过度边界。很明显,所述过渡区域中的相邻像素点的灰度值差异比较大,而所述背景区域和所述条形区域中的相邻像素点的灰度值差异比较小。
步骤340,计算所述过度区域的两个过度边界之间的宽度,并基于所述宽度确定所述图像的模糊度。
可以基于计算得到的一个位置的条形区域和背景区域之间的过渡区域的宽度确定所述图像的模糊度。然而,因为图像中存在的各种噪声等因素,通过一个位置的条形区域和背景区域之间的过渡区域的宽度确定所述图像的模糊度的可信度较低,因此可以多采集几个位置(若干左右边界点附近或若干条形区域的端点附近)的条形区域和背景区域之间的过渡区域的宽度以对图像模糊度进行综合判定。
在一个实施例中,可以根据若干位置的条形区域和背景区域之间的过渡区域的宽度来综合判定的图像的模糊度,具体包括如下步骤:
统计所有过渡区域的宽度的均值,统计所有过渡区域的宽度的方差;
如果方差值不超过预定方差门限值,则取均值为整幅图像的模糊度;
如果方差值超过预定方差门限值,则找出与均值差异最大的过渡区域的宽度并将其剔除;
如果所余下的过渡区域的宽度的数量仍然大于等于预定的数量门限值,则回到上面第一步重新处理,否则图像的模糊度估计失败。
由于图像的模糊会导致每一个像素点的灰度值向其四周发散,模糊度越高发散的范围越大。如图2b所示,在条码图像出现模糊时,相邻两个条码数据符的灰度信息就会产生互相影响,模糊度越高,影响越深。换句话说,模糊度不同,图像中的条码数据符的灰度信息就会发生变化。为了实现对不同模糊度图像的解码,有必要针对不同的模糊度建立对应的标准特征矢量集。
为每个模糊度范围预先建立一个标准特征矢量集,每个标准特征矢量集包括有若干个标准特征矢量。所述模糊度范围可以根据需要自定义,举例来说,以图3所示的模糊度为过度区域的宽度为例,所述模糊度范围的单位可以是单个条码数据符宽度s的1/m,m为正整数,也就是说,0-s*1/m为一个模糊度范围,s*1/m至s*2/m为下一个模糊度范围,s*2/m至s*3/m为下一个模糊度范围,以此类推。
在一个实施例中,基于条码类型所定义的一个标准条码数据符生成对应模糊度范围的一个标准特征矢量,这样形成的所有标准特征矢量可以组成了一个标准特征矢量集。通过同样的方式,还可以形成对应其它模糊度范围的标准特征矢量集。
在另一个实施例中,基于条码类型所定义的两个或更多个标准条码数据符生成对应模糊度范围的一个标准特征矢量,这样形成的所有标准特征矢量可以组成了一个标准特征矢量集。通过同样的方式,还可以形成对应其它模糊度范围的标准特征矢量集。
图5为本发明中的从图像中提取条码的条码数据符对应的测试特征矢量的方法500在一个实施例中的流程示意图,可以用于所述条码解码方法100中去从图像中提取条码的条码数据符对应的测试特征矢量。如图5所示,从图像中提取条码的条码数据符对应的测试特征矢量的方法500包括如下步骤。
步骤510,根据估计得到的图像的模糊度和从图像中提取的条码的边界信息确定测试范围。
通常,从图像中提取条码的条码数据符对应的测试特征矢量前,一般都通过条码定位过程从图像中检测到了条码的左右边界。
在得到了图像的模糊度和条码的边界信息后,由于测定的误差以及条码在灰度图像中出现的旋转(rotation)、倾斜(tilt)等几何失真(geometric distortion)等因素的影响,解码的范围并不局限于当前测定的图像模糊度和条码边界,而是以测定的图像模糊度和条码边界为基础,预先设定一个测试范围,从而有效处理测定的误差,以及省去对图像几何失真的精确估计和补偿。
步骤520,在测试范围内依次确定所述条码的合法位置。
在测试范围内可以确定所述条码的若干合法位置,可以每次确定所述条码的一个合法位置,所述合法位置是指符合条码制式或类型的规则的可能位置。如果在其中的一个合法位置提取的条码数据符对应的测试特征矢量组未完成最终的条码解码,那么会在测试范围内再次确定所述条码的一个合法位置,直到解码成功或测试范围内的没有剩余的合法位置。
步骤530,基于确定的所述条码的合法位置确定所述条码的每个条码数据符的位置。
步骤540,根据所述条码的每个条码数据符的位置从图像中提取灰度信息,并基于提取的灰度信息生成该条码数据符对应的测试特征矢量。所述条码的所有条码数据符对应的测试特征矢量的组合可以被称为测试特征矢量组。
图6示出了EAN-13条码(European Article Number-13barcode)的结构示例。如图6所示,EAN-13条码是由起始符(guard pattern on the left),6个左侧数据符(symbol characters on the left),中间分隔符(centre guardpattern),6个右侧数据符(symbol characters on the right),以及终止符(guardpattern on the right)构成。起始符由3个模块(module)构成,固定为“101”,表示“条空条”(bar,space,bar);6个左侧数据符由42个模块构成,由条码字符集A子集(number set A)或B子集定义,每个数据符各占7个模块;中间分隔符由5个模块构成,固定为“01010”,表示“空条空条空”;6个右侧数据符由42个模块构成,由条码字符集C子集定义,每个数据符各占7个模块;终止符由3个模块构成,固定为“101”,表示“条空条”,每个模块的宽度固定。
针对EAN-13条码的结构,需要提取6个左侧数据符和6个右侧数据符的灰度信息,然后利用提取的灰度信息生成测试用特征矢量。为此,如步骤530所述的,可以先基于确定的所述条码的合法位置确定所述条码的12个条码数据符的位置。随后,如步骤540所述的,可以根据所述条码的12个条码数据符的位置从图像中提取对应的灰度信息,并基于提取的灰度信息生成12个条码数据符对应的测试特征矢量,12个条码数据符对应的测试特征矢量组成了所述测试特征矢量组。
此处以EAN条码为例,但是其原则和处理方式可以适用于其他1维条码,比如Code 25,Code 39,Code 128等等。
在其他实施例中,也可以不设定测试范围,而是直接根据从图像中提取的条码的边界信息确定所述条码的每个条码数据符的位置,这样也可以实现最终的条码解码,只是可能对于较为模糊的图像成功率较低。
图7为利用所述条码的所有条码数据符对应的测试特征矢量和选择的标准特征矢量集解码得到所述条码的条码值的方法700在一个实施例中的流程示意图,其可以用于所述条码解码方法100中。如图7所示,所述方法700包括如下操作:
步骤710,将所述测试特征矢量组和所述测试特征矢量组在选定的标准特征矢量集中对应的若干标准特征矢量组进行相似度比较,所述测试特征矢量组为所述条码的所有条码数据符对应的测试特征矢量的组合,所述标准特征矢量组是选定的标准特征矢量集中的部分标准特征矢量的组合。
事实上,所述测试特征矢量组必定是其对应的所述标准特征矢量集中的标准特征矢量的所有合法组合中的一种,所述合法是指符合条码类型所定义的规则。
步骤720,确定和所述测试特征矢量组总相似度最高的标准特征矢量组,基于所述测试特征矢量组中的测试特征矢量和所述标准特征矢量组中的标准特征矢量的单相似度来确定所述测试特征矢量组和所述标准特征矢量组的总相似度。比如,所述总相似度等于对应组内的测试特征矢量和标准特征矢量的单相似度的总和或平均相似度。
步骤730,根据总相似度最高的标准特征矢量组确定所述条码的条码值。这样就找到了条码的各个条码数据符表示的数值,实现了图像中的条码的解码。
一般各种线性条码制式都存在一定的验证机制,比如在数据符中引入校验数据,此时可以根据得到的所述条码的条码值进行校验,如果通过,则解码成功,否则解码失败。不失一般性,以EAN-13条码为例,其最后一位数据符是用于奇偶校验的。
本发明中的条码解码方案也可以实现为一种装置,图8为本发明中的条码解码装置800在一个实施例中的结构示意图。如图8所示,所述条码解码装置800包括模糊度估计模块810、标准特征矢量集选定模块820、测试特征矢量提取模块830和解码模块840。
所述模糊度估计模块810估计图像的模糊度。所述标准特征矢量集选定模块820根据所述模糊度从若干标准特征矢量集中选择对应的一个标准特征矢量集,每一个标准特征矢量集对应一个模糊度范围并包括若干标准特征矢量。所述测试特征矢量提取模块830从图像中提取条码的条码数据符对应的测试特征矢量。所述解码模块830利用所述条码的所有条码数据符对应的测试特征矢量和选择的标准特征矢量集解码得到所述条码的条码值。
在一个实施例中,所述模糊度估计模块810统计条形区域和背景区域之间的过度区域附近的像素点的灰度值,利用统计到的像素点的灰度值统计相邻像素点的灰度值差异,将统计的相邻像素点的灰度值差异与预定灰度值差异门限值进行对比来判定所述过渡区域和所述背景区域的第一过度边界以及所述过渡区域与所述条形区域的第二过度边界,计算所述过度区域的两个过度边界之间的宽度,基于所述过度区域的宽度确定所述模糊度。
在一个实施例中,基于条码类型所定义的一个或若干个标准条码数据符生成对应模糊度范围的一个标准特征矢量。
在一个实施例中,所述测试特征矢量提取模块830根据从图像中提取的条码的边界信息确定所述条码的每个条码数据符的位置,根据所述条码的每个条码数据符的位置从图像中提取灰度信息,并基于提取的灰度信息生成该条码数据符对应的测试特征矢量。
在一个实施例中,所述解码模块840将测试特征矢量组和其在选择的标准特征矢量集中对应的若干标准特征矢量组进行相似度比较,确定和所述测试特征矢量组总相似度最高的标准特征矢量组,以及根据总相似度最高的标准特征矢量组确定所述条码的条码值,其中所述测试特征矢量组为所述条码的所有条码数据符对应的测试特征矢量的组合,所述标准特征矢量组是所述标准特征矢量集中的若干标准特征矢量的组合,基于所述测试特征矢量组中的测试特征矢量和所述标准特征矢量组中的标准特征矢量的单相似度来确定所述测试特征矢量组和所述标准特征矢量组的总相似度。
本文中的“和/或”表示和或者或,比如A、B和/或C,包括A、B、C、AB、AC、BC、ABC几种情况。本文中的“包括”均表示“包括但不限于”。本文中的“若干”为两个或两个以上,“多个”为两个或两个以上。
上文对本发明进行了足够详细的具有一定特殊性的描述。所属领域内的普通技术人员应该理解,实施例中的描述仅仅是示例性的,在不偏离本发明的真实精神和范围的前提下做出所有改变都应该属于本发明的保护范围。本发明所要求保护的范围是由所述的权利要求书进行限定的,而不是由实施例中的上述描述来限定的。
Claims (11)
1.一种条码解码方法,其特征在于,其包括:
估计图像的模糊度,基于所述条码的条形区域与背景区域之间的过渡区域的宽度确定所述模糊度;
根据所述模糊度从若干标准特征矢量集中选择对应的一个标准特征矢量集,每一个标准特征矢量集对应一个模糊度范围并包括若干标准特征矢量;
从图像中提取条码的所有条码数据符对应的测试特征矢量;和
利用所述条码的所有条码数据符对应的测试特征矢量和选择的标准特征矢量集解码得到所述条码的条码值。
2.根据权利要求1所述的条码解码方法,其特征在于,所述条码的条形区域与背景区域之间的过渡区域的宽度的计算包括:
统计条形区域和背景区域之间的过渡区域附近的像素点的灰度值;
利用统计到的像素点的灰度值统计相邻像素点的灰度值差异;
将统计的相邻像素点的灰度值差异与预定灰度值差异门限值进行对比来判定所述过渡区域和所述背景区域的第一过渡边界以及所述过渡区域与所述条形区域的第二过渡边界;和
计算所述过渡区域的两个过渡边界之间的宽度。
3.根据权利要求1所述的条码解码方法,其特征在于,基于条码类型所定义的一个或若干个标准条码数据符生成对应模糊度范围的一个标准特征矢量。
4.根据权利要求1-3任一所述的条码解码方法,其特征在于,从图像中提取条码的条码数据符对应的测试特征矢量包括:
根据从图像中提取的条码的边界信息确定所述条码的每个条码数据符的位置;
根据所述条码的每个条码数据符的位置从图像中提取灰度信息,并基于提取的灰度信息生成该条码数据符对应的测试特征矢量。
5.根据权利要求4所述的条码解码方法,其特征在于,根据从图像中提取的条码的边界信息确定所述条码的每个条码数据符的位置还包括:
根据所述模糊度和从图像中提取的条码的边界信息确定测试范围;
在测试范围内依次确定所述条码的合法位置;和
基于确定的所述条码的合法位置确定所述条码的每个条码数据符的位置。
6.根据权利要求4所述的条码解码方法,其特征在于,利用所述条码的所有条码数据符对应的测试特征矢量和选择的标准特征矢量集解码得到所述条码的条码值包括:
将测试特征矢量组和其在选择的标准特征矢量集中对应的若干标准特征矢量组进行相似度比较,所述测试特征矢量组为所述条码的所有条码数据符对应的测试特征矢量的组合,所述标准特征矢量组是选定的标准特征矢量集中的若干标准特征矢量的组合;
确定和所述测试特征矢量组总相似度最高的标准特征矢量组,基于所述测试特征矢量组中的测试特征矢量和所述标准特征矢量组中的标准特征矢量的单相似度来确定所述测试特征矢量组和所述标准特征矢量组的总相似度;
根据总相似度最高的标准特征矢量组确定所述条码的条码值。
7.一种条码解码装置,其特征在于,其包括:
模糊度估计模块,其估计图像的模糊度,基于所述条码的条形区域与背景区域之间的过渡区域的宽度确定所述模糊度;
标准特征矢量集选定模块,其根据所述模糊度从若干标准特征矢量集中选择对应的一个标准特征矢量集,每一个标准特征矢量集对应一个模糊度范围并包括若干标准特征矢量;
测试特征矢量提取模块,其从图像中提取条码的所有条码数据符对应的测试特征矢量;和
解码模块,其利用所述条码的所有条码数据符对应的测试特征矢量和选择的标准特征矢量集解码得到所述条码的条码值。
8.根据权利要求7所述的条码解码装置,其特征在于,所述模糊度估计模块统计条形区域和背景区域之间的过渡区域附近的像素点的灰度值,利用统计到的像素点的灰度值统计相邻像素点的灰度值差异,将统计的相邻像素点的灰度值差异与预定灰度值差异门限值进行对比来判定所述过渡区域和所述背景区域的第一过渡边界以及所述过渡区域与所述条形区域的第二过渡边界,计算所述过渡区域的两个过渡边界之间的宽度。
9.根据权利要求7所述的条码解码装置,其特征在于,基于条码类型所定义的一个或若干个标准条码数据符生成对应模糊度范围的一个标准特征矢量。
10.根据权利要求7-9任一所述的条码解码装置,其特征在于,所述测试特征矢量提取模块根据从图像中提取的条码的边界信息确定所述条码的每个条码数据符的位置,根据所述条码的每个条码数据符的位置从图像中提取灰度信息,并基于提取的灰度信息生成该条码数据符对应的测试特征矢量。
11.根据权利要求10所述的条码解码装置,其特征在于,所述解码模块将测试特征矢量组和其在选择的标准特征矢量集中对应的若干标准特征矢量组进行相似度比较,确定和所述测试特征矢量组总相似度最高的标准特征矢量组,以及根据总相似度最高的标准特征矢量组确定所述条码的条码值,其中所述测试特征矢量组为所述条码的所有条码数据符对应的测试特征矢量的组合,所述标准特征矢量组是所述标准特征矢量集中的若干标准特征矢量的组合,基于所述测试特征矢量组中的测试特征矢量和所述标准特征矢量组中的标准特征矢量的单相似度来确定所述测试特征矢量组和所述标准特征矢量组的总相似度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110291476.1A CN103034830B (zh) | 2011-09-30 | 2011-09-30 | 条码解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110291476.1A CN103034830B (zh) | 2011-09-30 | 2011-09-30 | 条码解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103034830A CN103034830A (zh) | 2013-04-10 |
CN103034830B true CN103034830B (zh) | 2015-09-02 |
Family
ID=48021711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110291476.1A Expired - Fee Related CN103034830B (zh) | 2011-09-30 | 2011-09-30 | 条码解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103034830B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104484639B (zh) * | 2014-12-30 | 2017-03-22 | 北京慧眼智行科技有限公司 | 一种解码方法及解码系统 |
TWI595426B (zh) * | 2016-03-24 | 2017-08-11 | 佳世達科技股份有限公司 | 條碼解碼方法 |
CN105976333A (zh) * | 2016-04-29 | 2016-09-28 | 广东小天才科技有限公司 | 图片模糊的校正方法、装置及智能设备 |
CN108073848B (zh) * | 2016-11-07 | 2021-03-12 | 斑马智行网络(香港)有限公司 | 一种条码识别方法、设备和装置 |
CN108009455B (zh) * | 2017-11-07 | 2019-04-30 | 深圳市华汉伟业科技有限公司 | 一种条形码的扫描信号的解码方法及装置 |
CN112651257B (zh) * | 2020-12-23 | 2022-08-16 | 福建新大陆支付技术有限公司 | 一种二维码、条形码图像定位及识别方法及其存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5412196A (en) * | 1994-04-01 | 1995-05-02 | United Parcel Service Of America, Inc. | Method and apparatus for decoding bar code images using multi-order feature vectors |
CN1674033A (zh) * | 2004-04-16 | 2005-09-28 | 广州市瀚迪科技开发有限公司 | 一种一维条码解码方法 |
CN101840496A (zh) * | 2010-06-01 | 2010-09-22 | 福建新大陆电脑股份有限公司 | 一维条码解码芯片 |
-
2011
- 2011-09-30 CN CN201110291476.1A patent/CN103034830B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5412196A (en) * | 1994-04-01 | 1995-05-02 | United Parcel Service Of America, Inc. | Method and apparatus for decoding bar code images using multi-order feature vectors |
CN1674033A (zh) * | 2004-04-16 | 2005-09-28 | 广州市瀚迪科技开发有限公司 | 一种一维条码解码方法 |
CN101840496A (zh) * | 2010-06-01 | 2010-09-22 | 福建新大陆电脑股份有限公司 | 一维条码解码芯片 |
Non-Patent Citations (2)
Title |
---|
亚像素在一维条码中的应用;曹丽娟等;《信息通信》;20110630(第3期);第71-72页 * |
基于模糊度的图像阈值分割法;曾国辉等;《微型电脑应用》;20030228;第19卷(第2期);第10-11,29页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103034830A (zh) | 2013-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103034831B (zh) | 线性条码识别方法和系统 | |
US11055505B2 (en) | System and method for recognizing deformed linear barcodes from a stream of varied focus video frames | |
CN103034830B (zh) | 条码解码方法及装置 | |
CN106778996B (zh) | 嵌入有视觉图像的二维码的生成系统和方法以及读取系统 | |
EP2921997B1 (en) | Two-dimensional code | |
JP4154413B2 (ja) | Qrコードの位置を確認するための方法、装置、及び記憶媒体 | |
EP3457327A1 (en) | Method and apparatus for generating two-dimensional code picture having dynamic effect | |
US7636483B2 (en) | Code type determining method and code boundary detecting method | |
CN101944187B (zh) | 二维微型编码及其处理方法、装置 | |
US10621470B2 (en) | Methods for optical character recognition (OCR) | |
CN104978576B (zh) | 一种文字识别方法及装置 | |
JP2007317184A (ja) | 二次元バーコード、その符号化方法及び復号化方法 | |
EP3343448B1 (en) | Machine readable code | |
US9177188B2 (en) | Method and system for detecting detection patterns of QR code | |
CN103714327A (zh) | 一种图像方向校正方法及系统 | |
US9898637B2 (en) | Two-dimensional code | |
CN103336938B (zh) | 一种基于一维条形码图像的识别方法 | |
CN103034833B (zh) | 条码定位方法及装置 | |
CN106203216B (zh) | 一种条码解码方法 | |
JP2012058776A (ja) | バーコード読取装置およびバーコード読取方法 | |
KR101163511B1 (ko) | 식별 코드 생성 방법, 식별 코드 인식 방법 및 장치 | |
JP2010140310A (ja) | バーコード読取装置、バーコード読取プログラム、バーコード読取方法 | |
CN103778398A (zh) | 图像模糊度估计方法 | |
CN103034834B (zh) | 条码检测方法及装置 | |
Liyanage | Efficient decoding of blurred, pitched, and scratched barcode images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150902 Termination date: 20180930 |
|
CF01 | Termination of patent right due to non-payment of annual fee |