一种条形码识别方法和装置的制作方法

文档序号:6372639阅读:216来源:国知局
专利名称:一种条形码识别方法和装置的制作方法
一种条形码识别方法和装置
技术领域
本发明涉及计算机应用技术领域,特别涉及一种条形码识别方法和装置。
背景技术
条形码又称条码(Barcode)是将宽度不等的多个黑条和白条(也称空白),按照一定的编码规则排列,用以表达一组信息的图形标识符,通常会在条形码下方配以数字或字母等字符,如图I所示。条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等很多信息,因而在商品流通、图书管理、邮政管理、银行系统等很多领域都得到广泛的应用。
现有的条形码识别方案以图像处理为基础,对用户终端拍摄或扫描到的条形码图像进行二值化或灰度梯度分析,从而获取条形码内每个黑白条的准确宽度,再根据宽度进行解码。然而这种严重依赖于对图像的二值化和灰度梯度分析的方式,很容易受到用户终端的拍照条件限制,例如对于分辨率较低、对焦模糊的用户终端可能会无法准确地根据图像的灰度信息计算出条形码内每个黑白条的宽度,从而导致解码失败。

发明内容有鉴于此,本发明提供了一种条形码识别方法和装置,以便于在拍照条件有限的用户终端上提高条形码的识别成功率。具体技术方案如下一种条形码识别方法,该方法包括SI、对用户终端获取到的条形码图像进行二值化;S2、对二值化后的条形码图像进行横向投影,根据横向投影值的分布状况定位出字符区域;S3、将字符区域进行纵向投影,根据纵向投影值的分布状况定位出各字符;S4、对各字符进行文字识别,并将文字识别结果进行组合得到条形码识别结果。根据本发明一优选实施例,在所述步骤SI之前还包括Al、在用户终端获取到的条形码图像中定位条形码区域,确定条形码区域的角占.A2、基于条形码区域的角点对条形码图像进行几何校正,得到标准角度的条形码图像。根据本发明一优选实施例,所述步骤Al具体包括AU、将用户终端获取到的条形码图像进行灰度化;A12、对灰度化后的条形码图像进行边缘检测得到边缘图像;A13、对所述边缘图像进行hough线段检测,确定条形码各线段的端点;A14、对各线段进行聚类,利用聚类结果中各线段的端点确定条形码区域的角点。根据本发明一优选实施例,所述步骤A14具体包括
从各线段中选取种子线段,将与种子线段的角度和距离在设定范围内的线段进行聚合;利用聚合在一起的各线段的起点和终点分别做直线拟合,得到各起点拟合得到的起点线段以及各终点拟合得到的终点线段;将所述起点线段和终点线段的端点确定为条形码区域的角点。根据本发明一优选实施例,在所述步骤A2中采用透视变换的方式进行几何校正。根据本发明一优选实施例,所述步骤S2中根据横向投影值的分布状况定位出字符区域具体包括确定横向投影值的低谷值点,将低谷值点以下的区域识别为字符区域。根据本发明一优选实施例,在所述将横向投影值的低谷值点以下的区域识别为字 符区域之前还包括判断所述低谷值点是否位于存在横向投影值区域的上半部分还是下半部分,如果位于上半部分,则将条形码图像进行上下翻转后,执行所述将横向投影值的低谷值点以下的区域识别为字符区域;如果位于下半部分,则继续执行所述将横向投影值的低谷值点以下的区域识别为字符区域。根据本发明一优选实施例,所述步骤S3中根据纵向投影值的分布状况定位出各字符具体包括将纵向投影值的低谷值点作为各字符的边界点对字符区域进行分割得到各字符。根据本发明一优选实施例,在所述步骤S4之后还包括S5、对所述条形码识别结果采用欧洲物品编码EAN-13校验算法进行校验,如果校验通过,则输出所述条形码识别结果,否则,确定本次条形码识别失败。一种条形码识别装置,该装置包括图像二值化单元,用于对用户终端获取到的条形码图像进行二值化;字符区域定位单元,用于对二值化后的条形码图像进行横向投影,根据横向投影值的分布状况定位出字符区域;字符定位单元,用于将字符区域进行纵向投影,根据纵向投影值的分布状况定位出各字符;文字识别单元,用于对各字符进行文字识别,并将文字识别结果进行组合得到条形码识别结果。根据本发明一优选实施例,该装置还包括条码区域定位单元,用于在用户终端获取到的条形码图像中定位条形码区域,确定条形码区域的角点;几何校正单元,用于基于条形码区域的角点对条形码图像进行几何校正,得到标准角度的条形码图像;所述图像二值化单元是对所述标准角度的条形码图像进行的二值化。根据本发明一优选实施例,所述条码区域定位单元具体包括灰度化子单元,用于将用户终端获取到的条形码图像进行灰度化;边缘检测子单元,用于对灰度化后的条形码图像进行边缘检测得到边缘图像;线段检测子单元,用于对所述边缘图像进行hough线段检测,确定条形码各线段的端点;
角点确定子单元,用于对各线段进行聚类,利用聚类结果中各线段的端点确定条形码区域的角点。根据本发明一优选实施例,所述角点确定子单元在进行聚类和角点的确定时,具体从各线段中选取种子线段,将与种子线段的角度和距离在设定范围内的线段进行聚合;利用聚合在一起的各线段的起点和终点分别做直线拟合,得到各起点拟合得到的起点线段以及各终点拟合得到的终点线段;将所述起点线段和终点线段的端点确定为条形码区域的角点。根据本发明一优选实施例,所述几何校正单元采用透视变换的方式进行几何校 正。根据本发明一优选实施例,所述字符区域定位单元在定位字符区域时,具体确定横向投影值的低谷值点,将低谷值点以下的区域识别为字符区域。根据本发明一优选实施例,所述字符区域定位单元在将低谷值点以下的区域识别为字符区域之前还包括判断所述低谷值点是否位于存在横向投影值区域的上半部分还是下半部分,如果位于上半部分,则将条形码图像进行上下翻转后,执行所述将横向投影值的低谷值点以下的区域识别为字符区域;如果位于下半部分,则继续执行所述将横向投影值的低谷值点以下的区域识别为字符区域。根据本发明一优选实施例,所述字符定位单元在定位各字符时,具体将纵向投影值的低谷值点作为各字符的边界点对字符区域进行分割得到各字符。根据本发明一优选实施例,该装置还包括结果校验单元,用于对所述条形码识别结果采用欧洲物品编码EAN-13校验算法进行校验,如果校验通过,则输出所述条形码识别结果,否则,确定本次条形码识别失败。由以上技术方案可以看出,本发明将文字识别技术引入条形码的识别,采用识别条形码下方的字符的方式得到条形码的识别结果,而不是通过计算黑白条宽度进行解码的方式,对于拍摄条件有限的用户终端也能够成功识别条形码,提高了识别成功率。

图I为条形码图像的一个实例图;图2为本发明实施例一提供的条形码识别方法流程图;图3为本发明实施例一提供的条形码图像的投影方向示意图;图4为本发明实施例一提供的字符区域的实例图;图5为本发明实施例二提供的条形码识别方法流程图;图6为本发明实施例二提供的定位条形码区域的方法流程图;图7为本发明实施例三提供的条形码识别装置结构图;图8为本发明实施例四提供的条形码识别装置结构图;图9为本发明实施例四提供的条形码区域定位单元的结构图。
具体实施方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明的主要思路是避开传统的通过计算黑白条宽度进行解码的方法,而是将文字识别技术引入条形码的识别,通过识别条形码下方的字符而直接得到条形码的内容。然而,由于条形码图像的特殊性,对条形码下方的字符进行识别也存在一定难度,下面通过实施例一和实施例二对该识别方法进行详细描述。实施例一、图2为本发明实施例一提供的条形码识别方法流程图,如图2所示,该方法可以包括以下步骤步骤201 :对用户终端获取到的条形码图像进行二值化。本发明实施例所涉及的用户终端可以包括但不限于具有拍照或扫描功能的手机、电脑、相机、ipad、扫描仪等。用户终端获取到的条形码图像如图I所示包含条形码和条形码下方的字符,字符包括但不限于数字和字母。
所谓图像的二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果,二值化是图像处理的基本操作,在本步骤中可以采用现有技术中的任意二值化方法,诸如全局二值化方法、局部自适应二值化方法等,在此不做具体限制。步骤202 :对二值化后的条形码图像进行横向投影,根据横向投影值的分布状况定位出字符区域。所谓横向指的是与条形码的黑白条垂直的方向,所谓纵向指的是与条形码的黑白条平行的方向,如图3中所示。由于图像进行二值化后,每个像素的值就是I或者0,所谓投影值就是投影点上像素值为I的数目,对于横向投影而言,就是横向一行像素值为I的数目。依据条形码的结构特点,横向投影值的分布状况为在出现一段平稳值之后出现一个低谷值,然后投影值又上升。该平稳值是条形码的横向投影,低估值是条形码和字符的分隔处,因此,可以将横向投影值的低谷值点作为字符区域的上边界点,如图3所示,将条形码图像中低谷值点以下的区域识别为字符区域。由于在实际场景中条形码图像可能出现上下倒置的情况,而条形码区域部分通常比字符区域部分的纵向长度要长,因此,在确定出横向投影值的低谷值点时,判断该低谷值点是否位于存在横向投影值区域的上半部分还是下半部分,如果位于上半部分,则说明条形码图像上下倒置,将条形码图像进行上下翻转后,将条形码图像中低谷值点以下的区域识别为字符区域;如果位于下半部分,则说明直接将条形码图像中低谷值点以下的区域识别为字符区域。步骤203 :将字符区域进行纵向投影,根据纵向投影值的分布状况定位出各字符。在步骤202之后能够将字符区域分割出来,依据纵向投影值的分布状况定位各字符的方式与依据横向投影值的分布状况定位字符区域的方式类似,即将纵向投影值的低谷值点作为各字符的边界点对字符区域进行分割得到各字符。需要说明的是,由于在某些情况下字符区域中除了字符之外,还可能存在部分条形码,如图4所示,对于这种情况,部分条形码也被定位为字符,图4所示的字符区域可能会被定位出22个字符,但最终部分条形码在后续文字识别的步骤中无识别结果,仅有真正的字符会被识别出来,所以不会影响最终的识别结果。
步骤204 :对各字符进行文字识别,并将文字识别结果进行组合得到条形码识别结果。分割成各字符区域后,分别对各字符区域进行文字识别,优选地,在文字识别之前首先将单个字符区域归一化到统一的尺寸。文字识别的方式包括模板匹配法和几何特征抽取法。由于条形码下的字符通常为数字或字母,是有限的可以穷举的类型,因此可以采用模板匹配法,将待识别的字符与预先给定的各模板进行匹配,计算待识别的字符与各模板之间的相似度,取相似度最大的模板对应的内容(数字或字母)作为识别结果。当然,也可以采用几何特征抽取法,模板匹配法和几何特征抽取法为已有技术,在此不再详述。得到条形码识别结果之后,可以进一步采用欧洲物品编码(EAN-13)进行校验,如 果校验通过,则输出该条形码识别结果;如果校验失败,则本次条形码识别失败。由于EAN-13条形码中存在校正码,通常其代码位置序号为1,在采用EAN-13进行校验时,一方面校验条形码识别结果是否为13位字符,一方面将除了校正码所在位置对应字符之外的其他字符按照EAN-13校验算法进行计算后,将计算结果与校正码所在位置对应的字符进行比对,如果一致,则确定校验通过。EAN-13校正算法的实现举一个例子a、从条形码识别结果中第二位字符开始,所有偶数位的字符代码求和。b、将步骤a的求和结果乘以3。C、从第三位字符开始,所有奇数位的字符代码求和。d、将步骤b的结果与步骤c的结果相加。e、用大于或等于步骤d所得结果且为10最小整数倍的数减去步骤d所得的结果。f、将步骤e所得结果与条形码识别结果中第一位字符进行比对,如果一致,则校验通过。实施例二、本实施例与实施例一的区别在于,预先对条形码图像执行几何校正的过程,防止在用户终端获取条形码图像时,由于终端拍摄条件限制、或者用户拍摄距离、拍摄角度等因素导致的条形码图像发生倾斜或畸变而导致条形码识别失败。图5为本发明实施例二提供的条形码识别方法流程图,如图5所示,该方法可以包括以下步骤步骤501 :在用户终端获取到的条形码图像中定位条形码区域,确定条形码区域的角点。本步骤的实现可以如图6所示,具体包括步骤601 :将用户终端获取到的条形码图像进行灰度化。步骤602 :对灰度化后的条形码图像进行边缘检测得到边缘图像。在本步骤中可以采用已有的任意边缘检测方法,例如canny算子边缘检测、RobersCross算子边缘检测、Prewitt算子边缘检测等等。步骤603 :对边缘图像进行hough线段检测,确定条形码各线段的端点。hough线段检测为已有技术,通过hough线段检测能够确定图像中线段的端点,即线段的起点和终点。步骤604:对各线段进行聚类,利用聚类结果中各线段的端点确定条形码区域的角点。可以对各线段进行聚类确定线段较密集的区域,具体可以为选取一条种子线段,将与种子线段的角度和距离在设定范围内的线段进行聚合。然后利用聚合在一起的各线段的起点和终点分别做直线拟合,例如最小二乘法的直线拟合,这样就可以得到各线段的起点拟合到的线段,称为起点线段,以及各线段的终点拟合到的线段,称为终点线段。起点线段和终点线段的4个端点就是条形码区域的角点。所谓角点就是条形码区域的边界顶点。继续参见图5中的步骤502 :基于条形码区域的角点对条形码图像进行几何校正,得到标准角度的条形码图像。在本步骤中,基于条形码区域的4个焦点可以采用透视变换的方式进行几何校正。透视变换的原理是,用户终端获取到的图像中的各点是实际三维空间物体的一点(x, y, I)经过透视变换到二维平面点(x’,y’,I)而生成的,透视变换公式为X hu h12 h13 xy,= h21 h22 h23 y
I」Lh3ih,2l J|_l_
Ii11 h12 h13其中h2i h22 h23
_h31 h32 I _为变换矩阵,首先将条形码区域的角点坐标映射到图像的基准位置坐标作为(x’,y’,1),(x, y, I)取指定值即指定的标准坐标,可以解出变换矩阵,对其求逆可得到校正矩阵。然后利用校正矩阵对条形码图像进行几何校正,即将条形码图像中各像素的坐标点均乘以校正矩阵,得到标准角度的条形码图像。需要说明的是,如果采用的角点个数为其他值,比如3个,则可以采用其他几何校正方式对条形码图像进行几何校正,得到标准角度的条形码图像,在此不再一一穷举。步骤503至步骤506依次与实施例一中步骤201至步骤204相同,不再赘述。以上是对本发明所提供的方法进行的详细描述,下面结合实施例三和实施例四对本发明所提供的装置进行详细描述。实施例三、图7为本发明实施例三提供的条形码识别装置结构图,该装置可以设置在能够获取条形码图像的用户终端中,该用户终端可以包括但不限于具有拍照或扫描功能的手机、电脑、相机、ipad、扫描仪等,该装置也可以为独立于用户终端的装置。如图7所示,该装置包括图像二值化单元700、字符区域定位单元710、字符定位单元720和文字识别单元730。首先,图像二值化单元700对用户终端获取到的条形码图像进行二值化。可以采用诸如全局二值化方法、局部自适应二值化方法等任意二值化方式。字符区域定位单元710对二值化后的条形码图像进行横向投影,根据横向投影值的分布状况定位出字符区域。所谓投影值就是投影点上像素值为I的数目,对于横向投影而言,就是横向上一行像素值为I的数目。依据条形码的结构特点,横向投影值的分布状况为在出现一段平稳值之后出现一个低谷值,然后投影值又上升。该平稳值是条形码的横向投影,低估值是条形码和字符的分隔处,因此,可以将横向投影值的低谷值点作为字符区域的上边界点,即首先确定横向投影值的低谷值点,将低谷值点以下的区域识别为字符区域。由于在实际场景中条形码图像可能出现上下倒置的情况,而条形码区域部分通常比字符区域部分的纵向长度要长,因此,字符区域定位单元720在将低谷值点以下的区域识别为字符区域之前还包括判断低谷值点是否位于存在横向投影值区域的上半部分还是下半部分,如果位于上半部分,则说明条形码图像上下倒置,将条形码图像进行上下翻转后,执行将横向投影值的低谷值点以下的区域识别为字符区域;如果位于下半部分,则继续执行将横向投影值的低谷值点以下的区域识别为字符区域。然后字符定位单元720将字符区域进行纵向投影,根据纵向投影值的分布状况定位出各字符。具体地,将纵向投影值的低谷值点作为各字符的边界点对字符区域进行分割得到各字符。需要说明的是,由于在某些情况下字符区域中除了字符之外,还可能存在部分条
形码,如图4所示,对于这种情况,部分条形码也被定位为字符,图4所示的字符区域可能会被定位出22个字符,但最终部分条形码在后续文字识别单元730的操作中无识别结果,仅有真正的字符会被识别出来,所以不会影响最终的识别结果。文字识别单元730对各字符进行文字识别,并将文字识别结果进行组合得到条形码识别结果。文字识别的方式包括模板匹配法和几何特征抽取法。由于条形码下的字符通常为数字或字母,是有限的可以穷举的类型,因此可以采用模板匹配法,将待识别的字符与预先给定的各模板进行匹配,计算待识别的字符与各模板之间的相似度,取相似度最大的模板对应的内容(数字或字母)作为识别结果。当然,也可以采用几何特征抽取法,模板匹配法和几何特征抽取法为已有技术,在此不再详述。优选地,该装置还可以包括结果校验单元740,用于对条形码识别结果采用EAN-13校验算法进行校验,如果校验通过,则输出条形码识别结果,否则,确定本次条形码识别失败。由于EAN-13条形码中存在校正码,通常其代码位置序号为1,在采用EAN-13进行校验时,一方面校验条形码识别结果是否为13位字符,一方面将除了校正码所在位置对应字符之外的其他字符按照EAN-13校验算法进行计算后,将计算结果与校正码所在位置对应的字符进行比对,如果一致,则确定校验通过。实施例四、本实施例与实施例三的区别在于,该装置还包括条码区域定位单元800和几何校正单元810预先对条形码图像进行几何校正,防止在用户终端获取条形码图像时,由于终端拍摄条件限制或者用户拍摄距离、拍摄角度等因素导致的条形码图像发生倾斜或畸变而导致条形码识别失败,此时装置结构如图8所示。条码区域定位单元800在用户终端获取到的条形码图像中定位条形码区域,确定条形码区域的角点。几何校正单元810基于条形码区域的角点对条形码图像进行几何校正,得到标准角度的条形码图像。具体可以采用透视变换的方式进行几何校正,也可以采用其他校正方式。
该结构下图像二值化单元700是对标准角度的条形码图像进行的二值化。其中,条码区域定位单元800的结构可以如图9所示,具体包括灰度化子单元801、边缘检测子单元802、线段检测子单元803和角点确定子单元804。首先灰度化子单元801将用户终端获取到的条形码图像进行灰度化。然后边缘检测子单元802对灰度化后的条形码图像进行边缘检测得到边缘图像。具体可以采用已有的任意边缘检测方法,例如canny算子边缘检测、Robers Cross算子边缘检测、Prewitt算子边缘检测等等。线段检测子单元803对边缘图像进行hough线段检测,确定条形码各线段的端点。hough线段检测为已有技术,通过hough线段检测能够确定图像中线段的端点,即线段的起点和终点。角点确定子单元804对各线段进行聚类,利用聚类结果中各线段的端点确定条形 码区域的角点。可以对各线段进行聚类确定线段较密集的区域,具体可以为从各线段中选取种子线段,将与种子线段的角度和距离在设定范围内的线段进行聚合;利用聚合在一起的各线段的起点和终点分别做直线拟合,得到各起点拟合得到的起点线段以及各终点拟合得到的终点线段;将起点线段和终点线段的端点确定为条形码区域的角点。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种条形码识别方法,其特征在于,该方法包括 51、对用户终端获取到的条形码图像进行ニ值化; 52、对ニ值化后的条形码图像进行横向投影,根据横向投影值的分布状况定位出字符区域; 53、将字符区域进行纵向投影,根据纵向投影值的分布状况定位出各字符; 54、对各字符进行文字识别,并将文字识别结果进行组合得到条形码识别結果。
2.根据权利要求I所述的方法,其特征在于,在所述步骤SI之前还包括 Al、在用户终端获取到的条形码图像中定位条形码区域,确定条形码区域的角点; A2、基于条形码区域的角点对条形码图像进行几何校正,得到标准角度的条形码图像。
3.根据权利要求2所述的方法,其特征在于,所述步骤Al具体包括 AU、将用户终端获取到的条形码图像进行灰度化; A12、对灰度化后的条形码图像进行边缘检测得到边缘图像; A13、对所述边缘图像进行hough线段检測,确定条形码各线段的端点; A14、对各线段进行聚类,利用聚类结果中各线段的端点确定条形码区域的角点。
4.根据权利要求3所述的方法,其特征在于,所述步骤A14具体包括 从各线段中选取种子线段,将与种子线段的角度和距离在设定范围内的线段进行聚合; 利用聚合在一起的各线段的起点和終点分别做直线拟合,得到各起点拟合得到的起点线段以及各终点拟合得到的终点线段; 将所述起点线段和终点线段的端点确定为条形码区域的角点。
5.根据权利要求2所述的方法,其特征在于,在所述步骤A2中采用透视变换的方式进行几何校正。
6.根据权利要求I至5任ー权项所述的方法,其特征在于,所述步骤S2中根据横向投影值的分布状况定位出字符区域具体包括 确定横向投影值的低谷值点,将低谷值点以下的区域识别为字符区域。
7.根据权利要求6所述的方法,其特征在于,在所述将横向投影值的低谷值点以下的区域识别为字符区域之前还包括判断所述低谷值点是否位于存在横向投影值区域的上半部分还是下半部分,如果位于上半部分,则将条形码图像进行上下翻转后,执行所述将横向投影值的低谷值点以下的区域识别为字符区域;如果位于下半部分,则继续执行所述将横向投影值的低谷值点以下的区域识别为字符区域。
8.根据权利要求I至5任ー权项所述的方法,其特征在于,所述步骤S3中根据纵向投影值的分布状况定位出各字符具体包括 将纵向投影值的低谷值点作为各字符的边界点对字符区域进行分割得到各字符。
9.根据权利要求I至5任ー权项所述的方法,其特征在于,在所述步骤S4之后还包括 55、对所述条形码识别结果采用欧洲物品编码EAN-13校验算法进行校验,如果校验通过,则输出所述条形码识别結果,否则,确定本次条形码识别失败。
10.一种条形码识别装置,其特征在于,该装置包括 图像ニ值化单元,用于对用户终端获取到的条形码图像进行ニ值化; 字符区域定位単元,用于对ニ值化后的条形码图像进行横向投影,根据横向投影值的分布状况定位出字符区域; 字符定位単元,用于将字符区域进行纵向投影,根据纵向投影值的分布状况定位出各字符; 文字识别单元,用于对各字符进行文字识别,并将文字识别结果进行组合得到条形码识别結果。
11.根据权利要求10所述的装置,其特征在于,该装置还包括 条码区域定位単元,用于在用户终端获取到的条形码图像中定位条形码区域,确定条形码区域的角点; 几何校正単元,用于基于条形码区域的角点对条形码图像进行几何校正,得到标准角度的条形码图像; 所述图像ニ值化单元是对所述标准角度的条形码图像进行的ニ值化。
12.根据权利要求11所述的装置,其特征在于,所述条码区域定位単元具体包括 灰度化子単元,用于将用户终端获取到的条形码图像进行灰度化; 边缘检测子单元,用于对灰度化后的条形码图像进行边缘检测得到边缘图像; 线段检测子单元,用于对所述边缘图像进行hough线段检測,确定条形码各线段的端点; 角点确定子単元,用于对各线段进行聚类,利用聚类结果中各线段的端点确定条形码区域的角点。
13.根据权利要求12所述的装置,其特征在于,所述角点确定子単元在进行聚类和角点的确定时,具体从各线段中选取种子线段,将与种子线段的角度和距离在设定范围内的线段进行聚合;利用聚合在一起的各线段的起点和終点分别做直线拟合,得到各起点拟合得到的起点线段以及各终点拟合得到的终点线段;将所述起点线段和终点线段的端点确定为条形码区域的角点。
14.根据权利要求11所述的装置,其特征在于,所述几何校正单元采用透视变换的方式进行几何校正。
15.根据权利要求10至14任ー权项所述的装置,其特征在于,所述字符区域定位単元在定位字符区域时,具体确定横向投影值的低谷值点,将低谷值点以下的区域识别为字符区域。
16.根据权利要求15所述的装置,其特征在于,所述字符区域定位単元在将低谷值点以下的区域识别为字符区域之前还包括判断所述低谷值点是否位于存在横向投影值区域的上半部分还是下半部分,如果位于上半部分,则将条形码图像进行上下翻转后,执行所述将横向投影值的低谷值点以下的区域识别为字符区域;如果位于下半部分,则继续执行所述将横向投影值的低谷值点以下的区域识别为字符区域。
17.根据权利要求10至14任ー权项所述的装置,其特征在于,所述字符定位単元在定位各字符时,具体将纵向投影值的低谷值点作为各字符的边界点对字符区域进行分割得到各字符。
18.根据权利要求10至14任ー权项所述的装置,其特征在于,该装置还包括 结果校验单元,用于对所述条形码识别结果采用欧洲物品编码EAN-13校验算法进行校验,如果校验通过,则输出所述条形码识别結果,否则,确定本次条形码识别失败。
全文摘要
本发明提供了一种条形码识别方法和装置,其中方法包括对用户终端获取到的条形码图像进行二值化;对二值化后的条形码图像进行横向投影,根据横向投影值的分布状况定位出字符区域;将字符区域进行纵向投影,根据纵向投影值的分布状况定位出各字符;对各字符进行文字识别,并将文字识别结果进行组合得到条形码识别结果。本发明将文字识别技术引入条形码的识别,采用识别条形码下方的字符的方式得到条形码的识别结果,而不是通过计算黑白条宽度进行解码的方式,对于拍摄条件有限的用户终端提高了条形码识别的成功率。
文档编号G06K7/10GK102799850SQ20121022719
公开日2012年11月28日 申请日期2012年6月30日 优先权日2012年6月30日
发明者刘经拓 申请人:北京百度网讯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1