测图形中由内部黑色区域和中间白色区域构成的区域,第三连通域为如图5中的(c)所示 的黑色区域,对应于如图2所示的该二维码的位置探测图形中由内部黑色区域、中间白色 区域,以及外部黑色区域构成的区域。
[0099] S103、以该二维码的位置探测图形的重心点为第一种子点,进行区域生长,形成该 二维码所在区域。
[0100] 根据SlOl和S102所示的方法确定出该二维码的位置探测图形的重心点,完成对 该二维码的位置探测图形的定位后,可以进一步根据确定该二维码所在区域。
[0101] 具体的,首先对该二维码图像进行孔洞填充,以将该二维码图像划分为多个连通 域,且该多个连通域中的某个连通域即为二维码所在区域所在的连通域,即通过对该二维 码图像进行孔洞填充,能够将该二维码所在区域划分到一个连通域中,以便于从该二维码 图像中提取该二维码所在区域。
[0102] 其中,对该二维码图像进行孔洞填充的方式有多种,在本发明实施例中,可采用约 束步长算法对该二维码图像进行孔洞填充,具体方式将在下述实施例中进行详细描述。
[0103] 完成对该二维码图像的孔洞填充后,以该二维码的位置探测图形的重心点为第一 种子点,进行区域生长,形成第四连通域,该第四连通域为该二维码图像经过孔洞填充后, 被划分的多个连通域中包括该第一种子点和与该第一种子点的灰度值相同的像素点的一 个连通域,该第四连通域为该二维码所在区域。其中,当以该二维码的位置探测图形的重心 点为第一种子点,进行区域生长时,是将第一种子点的邻近区域中与第一种子点的灰度值 相同的像素点,与第一种子点合并到一个区域中,直至没有可以合并的像素点为止,从而形 成第四连通域。
[0104] S104、获取该二维码所在区域的图像的信息。
[0105] 当确定该二维码所在区域后,通过对该二维码所在区域的图像进行校正,以及对 校正后的图像进行解码,以获取该区域的图像的信息。对该二维码所在区域的图像进行校 正的方式有多种,在本发明实施例中,可以采用根据该二维码所在区域的图像的四个角点 坐标,通过反透视变换校正该二维码所在区域的图像。
[0106] 本发明实施例提供一种识别二维码的方法,该方法可以包括确定η个第一区域的 η个重心点,从η个重心点中确定该二维码的位置探测图形的重心点,以该二维码的位置探 测图形的重心点为第一种子点,进行区域生长,形成该二维码所在区域,以及获取该二维码 所在区域的图像的信息,其中,每个第一区域包括一个重心点,η个第一区域为二维码图像 中水平区域和垂直区域的重叠区域,水平区域为水平方向上黑色区域的宽度和白色区域的 宽度的比例为第一预设比例的区域,垂直区域为垂直方向上黑色区域的宽度和白色区域的 宽度的比例为第一预设比例的区域,该二维码图像至少包括二维码所在区域,η多3,η为整 数,该二维码的位置探测图形中以该重心点为中心的各个区域的面积的比例为第二预设比 例。通过该方法,能够先确定η个重心点,并从该η个重心点中确定出该二维码的位置探测 图形的重心点,从而更加准确的确定出该二维码的位置探测图形的重心点,提高了定位该 二维码的位置探测图像的准确率,并根据该二维码的位置探测图形的重心点,确定该二维 码所在区域,进而准确获取该二维码所记录的信息,提高了识别二维码的成功率。
[0107] 实施例二
[0108] 本发明实施例提供一种识别二维码的方法,如图6所示,该方法可以包括:
[0109] S201、获取二维码图像。
[0110] 具体的,可以通过各种图像扫描设备获取二维码图像,例如,可以通过手机、相机、 扫描仪等具有拍摄功能的设备拍摄需要识别的二维码,从而获取二维码图像。
[0111] S202、对该二维码图像进行图像预处理。
[0112] 获取到该二维码图像后,可以对该二维码图像进行图像预处理,以简化识别二维 码过程中的数据,提高识别二维码的可靠性。
[0113] 具体的,对该二维码图像进行图像预处理可以包括如下三部分:
[0114] 1)灰度化处理
[0115] 由于获取的二维码图像通常呈现彩色效果,而二维码所在区域的图像由黑白相间 的图形构成,因此,为了简化数据,提高对该二维码识别的可靠性,可以对该二维码图像进 行灰度化处理,使得该二维码图像从彩色图像转换为灰度图像。
[0116] 具体的,在RGB模型中,每种颜色都可以由以R (表征红色)、G (表征绿色)、B (表 征蓝色)为坐标轴,建立的三维空间中的一个点表示。对彩色图像进行灰度化处理,可以使 得每个像素点的颜色由直线R = G = B上的一个点来表示,从而简化数据。在本发明实施 例中,可以采用加权平均法将红色、绿色、蓝色这三个颜色的分量以不同的权值进行加权平 均,获取该二维码图像中的每个像素点的灰度值,具体可以通过下述公式(1)进行计算,其 中g表示像素点的灰度值:
[0117] g = 0. 299XR+0. 587XG+0. 114XB 公式(1)
[0118] 2)二值化处理
[0119] 在将该二维码图像由彩色图像转换为灰度图像后,可以进一步对该二维码图像进 行二值化处理,将该二维码图像由灰度图像转化为二值图像,即将该二维码图像中的每个 像素点的灰度值设为a或b,以使该二维码图像呈现明显的黑白效果。
[0120] 在本发明实施例中,可以采用大津律法对该二维码图像进行二值化处理,将该二 维码图像分割为目标图像和背景图像。假设,该二维码图像的大小为MXN,目标图像和背景 图像的分割域值为T,该二维码图像中像素点的灰度值小于T的像素点记为目标像素点,目 标像素点的个数为Ntl,占该二维码图像中所有像素点的个数的比例为Wtl, N/h目标像素点 平均灰度值为Utl;该二维码图像中像素点的灰度值大于等于T的像素点记为背景像素点, 背景像素点的个数为N 1,占该二维码图像中所有像素点的个数的比例为W1, N1个背景像素 点平均灰度值为仏。其中,队、1。、队、&、11,以及仏满足下述公式(2) :
【主权项】
1. 一种识别二维码的方法,其特征在于,所述方法包括: 确定n个第一区域的n个重心点,其中,每个第一区域包括一个重心点,所述n个第一 区域为待识别二维码图像中水平区域和垂直区域的重叠区域,所述水平区域为水平方向上 黑色区域的宽度和白色区域的宽度的比例为第一预设比例的区域,所述垂直区域为垂直方 向上黑色区域的宽度和白色区域的宽度的比例为所述第一预设比例的区域,所述二维码图 像至少包括所述二维码所在区域,n彡3, n为整数; 从所述n个重心点中确定所述二维码的位置探测图形的重心点,所述二维码的位置探 测图形中以所述二维码的位置探测图形的重心点为中心的各个区域的面积的比例为第二 预设比例,且所述二维码的位置探测图形的重心点的灰度值为a,其中,a表征所述二维码 的位置探测图形的重心点呈现黑色; 以所述二维码的位置探测图形的重心点为第一种子点,进行区域生长,形成所述二维 码所在区域; 获取所述二维码所在区域的图像的信息。
2. 根据权利要求1所述的方法,其特征在于,所述从所述n个重心点中确定所述二维码 的位置探测图形的重心点,包括: 判断所述n个重心点中第i个重心点的灰度值是否为a,I<i<n,i为整数; 若所述第i个重心点的灰度值为a,则以所述第i个重心点为第二种子点,分别进行三 次区域生长,形成三个连通域,并分别计算所述三个连通域的面积,否则,判断所述n个重 心点中第i+1个重心点的灰度值是否为a; 若所述三个连通域的面积的比例为所述第二预设比例,则所述第i个重心点为所述二 维码的位置探测图形的重心点。
3. 根据权利要求2所述的方法,其特征在于,所述以所述第i个重心点为第二种子点, 分别进行三次区域生长,形成三个连通域,并分别计算所述三个连通域的面积,包括: 以所述第i个重心点为第二种子点,进行区域生长,形成第一连通域,并计算所述第一 连通域的面积