一种二维码生成方法、二维码识读方法及装置与流程

文档序号:17065909发布日期:2019-03-08 22:55阅读:191来源:国知局
一种二维码生成方法、二维码识读方法及装置与流程

本发明涉及移动应用技术领域,特别涉及一种二维码生成方法、二维码识读方法及装置。



背景技术:

随着电子商务模式的崛起,二维码已经广泛应用在电子设备之间的通信之中。比如,手机a扫描手机b展示的二维码,读取出手机b的二维码为加好友的二维码,可以实现将手机b的二维码所展示的好友,加为手机a用户的好友。

由于二维码是用某种特定的几何图形按一定规律,在二维平面分布的黑白相间的图形记录数据符号信息,这些数据符号信息可以表示加好友的信息以及手机付款的信息等等,因此可以通过二维码实现电子设备之间的通信。用户实现上述电子设备之间的通信,可以将电子设备的二维码展示在电子设备上,或者将电子设备所展示的二维码打印为纸质版的二维码,展示纸质版的二维码。

本申请发明人在实现本发明的过程中,发现目前用户使用手机扫描二维码,存在如下问题。

不论电子设备所展示的二维码,还是纸质版的二维码,一旦展示二维码,二维码的大小固定不变。由于二维码的大小固定不变,用户需要调整手机与所扫描的二维码之间的距离,比如,若没有扫描到所有二维码,就需要用户调整手机向远离所扫描的二维码移动,从而识读二维码,这样二维码的辨识方式较为单一。



技术实现要素:

本发明实施例的目的在于提供一种二维码生成方法、二维码识读方法及装置,解决目前二维码的辨识方式较为单一的问题。

具体技术方案如下:

第一方面,本发明实施提供了一种二维码生成方法,所述方法包括:

获取待处理二维码,所述待处理二维码包括:多个已设有色彩的区域,将已设有色彩的区域,作为被设区域,所述色彩是由三维颜色空间的三个颜色分量形成的,所述三个颜色分量分别为:默认数值变更的第一颜色分量,默认数值的第二颜色分量和默认数值的第三颜色分量;

划分每一被设区域为l行×l列的重置色彩区域,所述l大于或等于2;

从与每一被设区域预先建立位置关联的l2个被设区域中,得到每一被设区域关联的l2个被设区域;

基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩,确定重置色彩区域中的l2个重置色彩,所述重置色彩为由所述默认数值变更的第一颜色分量、默认数值变更的第二颜色分量、所述默认数值的第三颜色分量形成的;

将l2个重置色彩设置在l行×l列的重置色彩区域中,获得已处理的二维码。

进一步的,所述将l2个重置色彩设置在l行×l列的重置色彩区域中,获得已处理的二维码,包括:

将已设置重置色彩的重置色彩区域确定为被设区域,划分每一被设区域为l行×l列的重置色彩区域,所述l大于或等于2;

从与每一被设区域预先建立位置关联的l2个被设区域中,得到每一被设区域关联的l2个被设区域;

基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩,确定重置色彩区域中的l2个重置色彩,所述重置色彩为所述默认数值变更的第一颜色分量、默认数值变更的第二颜色分量、默认数值变更的第三颜色分量形成的;

将l2个重置色彩设置在l行×l列的重置色彩区域中,获得已处理的二维码。

进一步的,每一被设区域用于表示所述二维码的二进制序列中的一个二进制算符;

所述基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩,确定重置色彩区域中的l2个重置色彩,包括:

从与每一被设区域预先建立位置关联的l2个被设区域中,得到每一被设区域关联的l2个被设区域各自的二进制子序列,作为关联的二进制子序列,所述关联的二进制子序列是由所述每一被设区域关联的l2个被设区域各自表示的二进制算符组成的;

按照预设色彩与二进制算符的映射关系,确定关联的二进制子序列中的二进制算符映射的预设色彩,作为重置色彩区域各自的重置色彩。

进一步的,多个被设区域呈p行×p列;

采用如下步骤,每一被设区域与相关联的l2个被设区域建立位置关联:

所述每一被设区域为所述多个被设区域中第n行第m列的被设区域,所述n大于0,且小于或等于p的整数,所述m大于0,且小于或等于p的整数;

与所述每一被设区域各自相关联的l2个被设区域包括:所述多个被设区域中的第行第列的被设区域,

......,

行第列的被设区域,

......,

行第列的被设区域,

......,

行第列的被设区域。

第二方面,本发明实施例提供了二维码识读方法,所述二维码识读方法包括:

扫描二维码;

获取所述二维码中每个被设区域被划分的规则以及,基于被划分的规则,从所述二维码中扫描到的多个被设区域,所述每个被设区域被划分的规则为划分每一被设区域为l行×l列的重置色彩区域,所述被设区域已设有色彩;

若所述扫描到的多个被设区域的区域数量小于预设区域数量,则从所述扫描到的多个被设区域中,获取重置色彩区域的区域数量,所述预设区域数量为所述二维码的所有被设区域的区域总数;

若所述重置色彩区域的区域数量大于或等于所述预设区域数量,则读取所述重置色彩区域设有的色彩,所述重置色彩区域设有的色彩是基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩获得的;

从所述重置色彩区域中,提取三维颜色空间的色彩;

按照预设色彩与二进制算符的映射关系,将所述重置色彩区域提取的色彩,映射成二进制序列。

进一步的,所述方法还包括:

若所述扫描到的多个被设区域的区域数量大于或等于预设区域数量,则从所述扫描到的多个被设区域中,获取每一被设区域各自划分的所述重置色彩区域设有的色彩;

将每一被设区域各自划分的所述重置色彩区域设有的色彩求平均值,得到每一被设区域的色彩平均值;

若每一被设区域的色彩平均值高于第二预设色彩,则将每一被设区域的色彩平均值映射为第一二进制算符;

或者,若每一被设区域的色彩平均值低于所述第二预设色彩,则将每一被设区域的色彩平均值映射为第二二进制算符,所述第一二进制算符和所述第二二进制算符的数值不同。

进一步的,所述按照预设色彩与二进制算符的映射关系,将所述重置色彩区域提取的色彩,映射成二进制序列,包括:

确定所述重置色彩区域设有的色彩的种类数量;

从预设色彩映射的二进制算符,与预设色彩之间的映射关系中,按照种类数量,找到每种所述重置色彩区域设有的色彩对应的二进制算符;

按照预设色彩映射的二进制算符,与所述预设色彩之间的映射关系中每种色彩对应的二进制算符,将所述重置色彩区域设有的色彩,映射成二进制序列。

第三方面,本发明实施提供了一种二维码生成装置,所述二维码生成装置包括:

第一获取模块,用于获取待处理二维码,所述待处理二维码包括:多个已设有色彩的区域,将已设有色彩的区域,作为被设区域,所述色彩是由三维颜色空间的三个颜色分量形成的,所述三个颜色分量分别为:默认数值变更的第一颜色分量,默认数值的第二颜色分量和默认数值的第三颜色分量;

划分模块,用于划分每一被设区域为l行×l列的重置色彩区域,所述l大于或等于2;

第二获取模块,用于从与每一被设区域预先建立位置关联的l2个被设区域中,得到每一被设区域关联的l2个被设区域;

第一获得模块,用于基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩,确定重置色彩区域中的l2个重置色彩,所述重置色彩为由所述默认数值变更的第一颜色分量、默认数值变更的第二颜色分量、所述默认数值的第三颜色分量形成的;

第二获得模块,用于将l2个重置色彩设置在l行×l列的重置色彩区域中,获得已处理的二维码。

进一步的,所述第二获得模块,具体用于:

将已设置重置色彩的重置色彩区域确定为被设区域,划分每一被设区域为l行×l列的重置色彩区域,所述l大于或等于2;

从与每一被设区域预先建立位置关联的l2个被设区域中,得到每一被设区域关联的l2个被设区域;

基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩,确定重置色彩区域中的l2个重置色彩,所述重置色彩为所述默认数值变更的第一颜色分量、默认数值变更的第二颜色分量、默认数值变更的第三颜色分量形成的;

将l2个重置色彩设置在l行×l列的重置色彩区域中,获得已处理的二维码。

进一步的,每一被设区域用于表示所述二维码的二进制序列中的一个二进制算符;

所述第一获得模块,具体用于:

从与每一被设区域预先建立位置关联的l2个被设区域中,得到每一被设区域关联的l2个被设区域各自的二进制子序列,作为关联的二进制子序列,所述关联的二进制子序列是由所述每一被设区域关联的l2个被设区域各自表示的二进制算符组成的;

按照预设色彩与二进制算符的映射关系,确定关联的二进制子序列中的二进制算符映射的预设色彩,作为重置色彩区域各自的重置色彩。

进一步的,多个被设区域呈p行×p列;

所述装置还包括:建立模块,该建立模块,用于采用如下步骤,每一被设区域与相关联的l2个被设区域建立位置关联:

采用如下步骤,每一被设区域与相关联的l2个被设区域建立位置关联:

所述每一被设区域为所述多个被设区域中第n行第m列的被设区域,所述n大于0,且小于或等于p的整数,所述m大于0,且小于或等于p的整数;

与所述每一被设区域各自相关联的l2个被设区域包括:所述多个被设区域中的第行第列的被设区域,

......,

行第列的被设区域,

......,

行第列的被设区域,

......,

行第列的被设区域。

第四方面,本发明实施提供了一种二维码识读装置,所述二维码识读装置包括:

第一读取模块,用于扫描二维码;

第二读取模块,用于获取所述二维码中每个被设区域被划分的规则以及,基于被划分的规则,从所述二维码中扫描到的多个被设区域,所述每个被设区域被划分的规则为划分每一被设区域为l行×l列的重置色彩区域,所述被设区域已设有色彩;

第三获取模块,用于若所述扫描到的多个被设区域的区域数量小于预设区域数量,则从所述扫描到的多个被设区域中,获取重置色彩区域的区域数量,所述预设区域数量为所述二维码的所有被设区域的区域总数;

第三读取模块,用于若所述重置色彩区域的区域数量大于或等于所述预设区域数量,则读取所述重置色彩区域设有的色彩,所述重置色彩区域设有的色彩是基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩获得的;

提取模块,用于从所述重置色彩区域中,提取三维颜色空间的色彩;

映射模块,用于按照预设色彩与二进制算符的映射关系,将所述重置色彩区域提取的色彩,映射成二进制序列。

进一步的,所述装置还包括:第四获取模块,所述第四获取模块,用于:

若所述扫描到的多个被设区域的区域数量大于或等于预设区域数量,则从所述扫描到的多个被设区域中,获取每一被设区域各自划分的所述重置色彩区域设有的色彩;

将每一被设区域各自划分的所述重置色彩区域设有的色彩求平均值,得到每一被设区域的色彩平均值;

若每一被设区域的色彩平均值高于第二预设色彩,则将每一被设区域的色彩平均值映射为第一二进制算符;

若每一被设区域的色彩平均值低于所述第二预设色彩,则将每一被设区域的色彩平均值映射为第二二进制算符,所述第一二进制算符和所述第二二进制算符的数值不同。

进一步的,所述映射模块,具体用于:

确定所述重置色彩区域设有的色彩的种类数量;

从预设色彩映射的二进制算符,与预设色彩之间的映射关系中,按照种类数量,找到每种所述重置色彩区域设有的色彩对应的二进制算符;

按照预设色彩映射的二进制算符,与所述预设色彩之间的映射关系中每种色彩对应的二进制算符,将所述重置色彩区域设有的色彩,映射成二进制序列。

第五方面,本发明实施提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。

第六方面,本发明实施提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现第二方面所述的方法步骤。

第七方面,本发明实施提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面任一的方法。

第八方面,本发明实施提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面任一的方法。

第九方面,本发明实施还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一的方法。

第十方面,本发明实施还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面任一的方法。

本发明实施例提供的一种二维码生成方法,将待处理二维码中每个被设区域,划分为l行×l列的重置色彩区域;从与每一被设区域预先建立位置关联的l2个被设区域中,得到每一被设区域关联的l2个被设区域;基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩,确定重置色彩区域中的l2个重置色彩,重置色彩为由默认数值变更的第一颜色分量、默认数值变更的第二颜色分量、默认数值的第三颜色分量形成的;将l2个重置色彩设置在l行×l列的重置色彩区域中,获得已处理的二维码。

由此可见,待处理二维码中的每个被设区域,划分为l行×l列的重置色彩区域,重置色彩区域的大小为被设区域的相当于1/l2倍,并且所有重置色彩区域各自的重置色彩来自于待处理二维码的所有被设区域的色彩,相当于,在待处理二维码的被设区域中,嵌入了重置色彩区域的重置色彩。这样,不仅待处理二维码的所有被设区域,展示待处理二维码所有被设区域的色彩,而且,重置色彩区域,也展示待处理二维码被设区域的色彩,从而可以通过在二维码的被设区域和重置色彩区域来辨识已处理的二维码,增加了已处理的二维码的辨识方式,也提高了已处理的二维码的信息承载能力。

本发明实施例提供的一种二维码识读方法,获取扫描的二维码中每个被设区域被划分的规则以及,基于被划分的规则,从二维码中扫描到的多个被设区域,每个被设区域被划分的规则为将多个被设区域中的每个被设区域,划分为l行×l列的重置色彩区域,被设区域已设有色彩;若扫描到的多个被设区域的区域数量小于预设区域数量,则从扫描到的多个被设区域中,获取重置色彩区域的区域数量,预设区域数量为二维码的所有被设区域的区域总数;若重置色彩区域的区域数量大于或等于预设区域数量,则读取重置色彩区域设有的色彩;按照预设色彩映射的二进制算符,与预设色彩之间的映射关系,将重置色彩区域设有的色彩,映射成二进制序列。

由此可见,相较于现有技术,若只扫描到二维码中部分区域,也就是重置色彩区域,并不是所有的被设区域,且扫描的二维码中,重置色彩区域的数量大于或等于预设区域数量,则读取重置色彩区域设有的色彩,映射成二进制序列,不需要用户调整手机与所扫描的二维码之间的距离,提高了二维码的辨识度,提高用户信息获取的效率。

当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的二维码生成方法的第一流程示意图;

图2为本发明实施例提供的图1中步骤140的具体流程示意图;

图3为本发明实施例提供的二维码生成方法的第二流程示意图;

图4为本发明实施例的待处理二维码的示意图;

图5为本发明实施例的已处理的二维码的第一示意图;

图6为本发明实施例的已处理的二维码的第二示意图;

图7为本发明实施例提供的二维码生成方法的第一流程示意图

图8为本发明实施例的二维码生成装置的结构示意图;

图9为本发明实施例的二维码识读装置的结构示意图;

图10为本发明实施例二维码生成装置对应的电子设备的结构示意图;

图11为本发明实施例为二维码识读装置对应的电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

为了解决现有技术二维码的辨识方式较为单一的问题,本发明实施例提供一种二维码生成方法、二维码识读方法及装置,将待处理二维码中每个被设区域,划分为l行×l列的重置色彩区域;从与每一被设区域预先建立位置关联的l2个被设区域中,得到每一被设区域关联的l2个被设区域;基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩,确定重置色彩区域中的l2个重置色彩,重置色彩为由默认数值变更的第一颜色分量、默认数值变更的第二颜色分量、默认数值的第三颜色分量形成的;将l2个重置色彩设置在l行×l列的重置色彩区域中,获得已处理的二维码。

由此可见,将待处理二维码中的每个被设区域,划分为l行×l列的重置色彩区域,重置色彩区域的大小为被设区域的相当于1/l2倍,并且所有重置色彩区域各自的重置色彩来自于待处理二维码的所有被设区域的色彩,相当于,在待处理二维码的被设区域中,嵌入了重置色彩区域的重置色彩。这样,不仅待处理二维码的所有被设区域,展示待处理二维码所有被设区域的色彩,而且,重置色彩区域,也展示待处理二维码被设区域的色彩,从而可以通过在二维码的被设区域和重置色彩区域来辨识已处理的二维码,增加了已处理的二维码的辨识方式,也提高了已处理的二维码的信息承载能力。相较于现有技术,若只扫描到二维码中部分区域,也就是重置色彩区域,并不是所有的被设区域,且扫描的二维码中,重置色彩区域的数量大于或等于预设区域数量,则读取重置色彩区域设有的色彩,映射成二进制序列,不需要用户调整手机与所扫描的二维码之间的距离,提高了二维码的辨识度,提高用户信息获取的效率。

第一方面,下面首先对本发明实施例提供的一种二维码生成方法进行介绍。

本发明实施例所提供的二维码生成方法可以应用的行业,比如物流行业,进一步的,应用于商场、超市等批发零售行业。本发明实施例所提供的二维码生成方法可以应用的电子设备,比如移动终端,进一步的,pos(pointofsale,销售网点系统)机,智能手机等。

参见图1,图1为本发明实施例提供的二维码生成方法的第一流程示意图。本发明实施例所提供的一种二维码生成方法,可以包括如下步骤:

步骤110,获取待处理二维码,该待处理二维码包括:多个已设有色彩的区域,将已设有色彩的区域,作为被设区域,色彩是由三维颜色空间的三个颜色分量形成的,该三个颜色分量分别为:默认数值变更的第一颜色分量,默认数值的第二颜色分量和默认数值的第三颜色分量。

本发明实施例需要对二维码进行重置色彩的处理,因此,将这个二维码称为待处理二维码。本发明实施例这个待处理二维码,可以与最终的已处理的二维码进行区分。待处理二维码说明需要对二维码进行重置色彩,而,已处理的二维码是指已经完成对待处理二维码进行重置色彩的二维码。

本发明实施例中若待处理二维码所呈现出来的黑白相间的图形,这些图形用于记录数据符号信息,示例性的,数据符号信息包括:零售商品、储运包装商品、物流单元及二维码标识。这些黑白相间的图形中的每个黑块图形/白块图形,分别可以称为黑色块/白色块。这里的黑色块和白色块可以统称为色块。每个色块在待处理二维码中的位置,称为被设区域。也就是说,设有色彩的被设区域,可以称为色块。这些被设区域可以是指待处理二维码中未被划分的被设区域,也可以是待处理二维码中已被划分,并且重置色彩的被设区域。只要是包含有色彩,并且属于二维码中的已设有色彩的区域,均属于本发明实施例被设区域。

其中,所述三维颜色空间可以为yuv颜色空间,该yuv颜色空间的三个颜色分量包括:两个色差分量uv和一个亮度分量y。所述三维颜色空间也可以为rgb颜色空间,该rgb颜色空间的三个颜色分量包括:红色颜色分量r、绿色颜色分量g及蓝色颜色分量b。只要能够实现本发明实施例的方案的三维颜色空间均可以,在此不限定。

对于yuv颜色空间来说,默认数值变更的第一颜色分量可以为色差分量u、色差分量v及亮度分量y中的任一个颜色分量,除默认数值变更的第一颜色分量以外,其余的两个颜色分量中的一个颜色分量可以为默认数值的第二颜色分量,其余的两个颜色分量中的剩余一个颜色分量可以为默认数值的第三颜色分量。或rgb颜色空间的“默认数值变更的第一颜色分量,默认数值的第二颜色分量和默认数值的第三颜色分量”同理,在此不再详细说明。

一般默认数值一般是在[0,255]中取任一值,但是可选的默认数值为128,每次会将三个颜色分量中一个默认数值的颜色分量变更,并且将这一个色彩分量变更默认数值为两个数值,这两个数值最后形成的颜色可以用来区分,待处理二维码的二进制算符(0和1),也就是相当于,得到预设色彩与二进制算符的映射关系,方便后期二维码识读。这两个数值可以预先定义好的数值,也可以在[0,255]中任选两个数值,根据用户需要而定,在此不做限定。

示例性的,若待处理二维码的被设区域是未被划分过的被设区域,这个被设区域内的色彩,可以是黑色或白色,也就是待处理二维码中的原有的色彩;也就是,色差分量u及色差分量v的两个色差分量为默认数值的第二颜色分量和默认数值的第三颜色分量,亮度分量y为默认数值变更的第一颜色分量。默认数值变更的亮度分量y为在该亮度分量y所在的该亮度范围内取除128以外的数值。该色彩由默认数值的色差分量u、默认数值的色差分量v以及亮度分量y得到的。默认数值的色差分量u可以为128、默认数值的色差分量v可以为128以及亮度分量y可以为取非128数值,比如,亮度分量y为0或255。在亮度分量y为0的情况下,则待处理二维码中的原有的色彩为黑色;或在亮度分量y为255的情况下,则待处理二维码中的原有的色彩为白色。

若待处理二维码的被设区域是已被划分,并且重置色彩的被设区域,则这个被设区域内的色彩,就是待处理二维码中的被设区域内的重置色彩。也就是,也就是,色差分量u为默认数值变更的第二颜色分量以及色差分量v为默认数值的第三颜色分量,亮度分量y为默认数值变更的第一颜色分量。也就是,该色彩由默认数值变更的色差分量u、默认数值的色差分量v以及默认数值变更的亮度分量y得到的。色差分量u为默认数值变更的第二颜色分量,色差分量u为在该色差分量所在的该色差范围内取除128以外的数值,比如,色差分量u为0或255。默认数值变更的色差分量u可以为0或255、默认数值的色差分量v可以为128以及亮度分量y可以为0或255。这样可以在上次被设区域的色彩基础上,只变更一个色彩分量,相当于利用色差分量u,在亮度分量y的二维码上嵌入了默认数值变更的色差分量u平面的一个二维码。

同理,色差分量u为默认数值的第二颜色分量和色差分量v为默认数值变更的第三颜色分量;或者,色差分量u及色差分量v的两个色差分量默认数值变更的第二颜色分量和默认数值变更的第三颜色分量;然后再由第一颜色分量和第二颜色分量及第三颜色分量时,亮度分量y为0或255。上述色差u分量所在的色差范围为[0,255],上述色差v分量所在的色差范围为[0,255],上述色彩所在的色彩范围为[0,255]。相当于,上述色彩包括:原有的色彩及重置色彩,具体的色彩,根据实际情况决定。

为了能够获取到待处理二维码,本步骤110可以采用如下至少一种可能的实现方式获取待处理二维码,具体包括:

在一种可能的实现方式中,从预设的二维码数据库中,获取任一二维码,将这个二维码作为,待处理二维码;预设的二维码数据库用于存储用户预先存储的所需二维码。这样方便用户直接获取到待处理二维码。

由于上述预设的二维码数据库存在占用内存的问题,因此为解决此问题,在另一种可能的实现方式中,接收用户输入的二维码的二进制序列,基于二进制序列的预设规则,生成待处理二维码。这样用户可以实时输入二进制序列,减少上述预设的二维码数据库的占用内存,及时地生成待处理二维码,也满足用户及时输入二维码的要求。

上述二进制序列是由二进制算符组成,其中二进制算符分别为0,1。第一二进制算符为二进制算符中的一个,第二二进制算符为二进制算符中的另一个。比如,第一二进制算符为0,第二二进制算符为1;第二二进制算符为1,第一二进制算符为0。

上述另一种可能的实现方式中采用如下的二进制序列的预设规则,生成待处理二维码:

将二维码的二进制序列的每四位二进制数,划分为一组二进制子序列;将所有组的二进制子序列,生成待处理二维码。这样方便后续使用对每组二进制子序列进行处理,方便后期利用每四个二进制数所在被设区域进行解码。

步骤120,划分每一被设区域为l行×l列的重置色彩区域,l大于或等于2。

其中,若待处理二维码中未划分的被设区域的色彩为黑色或白色,可以通过扫描待处理二维码的被设区域的色彩或重置色彩区域的重置色彩,进而识读得到二进制序列。

若被设区域的色彩为黑色或白色,这些被设区域已经被划分为l2个被设区域后,将划分得到l2个被设区域,称为重置色彩区域。

本步骤120中,划分每一被设区域为l行×l列的重置色彩区域具体包括:不规则划分每一被设区域为l行×l列的重置色彩区域。只要能够展示各自的重置色彩的重置色彩区域,均属于本发明实施例保护范围。

由于不规则划分每一被设区域可能会使得二维码展示出来的重置色彩区域大小不一,不方便统一调整重置色彩区域的大小,也会使得用户直观感觉不适,因此为了解决这个问题,本发明实施例步骤120可以采用如下至少一种可能的实现方式,划分每一被设区域为l行×l列的重置色彩区域:

在一种可能的实现方式中,均匀划分分每一被设区域为l行×l列的重置色彩区域。这样可以按照统一设置的所需划分的个数,划分每一被设区域,并且,能够方便均匀的展示重置色彩区域,提高用户舒适度。

步骤130,从与每一被设区域预先建立位置关联的l2个被设区域中,得到每一被设区域关联的l2个被设区域。

上述与每一被设区域预设建立位置关联的l2个被设区域,也就是每一被设区域与相关联的l2个被设区域建立位置关联,是基于每一被设区域,建立与相关联的l2个被设区域的位置关联。具体可根据用户需要或者工业需求,所建立的位置关联。

为了能够确定待处理二维码中每一被设区域与相关联的l2个被设区域,因此本步骤130可以采用如下步骤,每一被设区域与相关联的l2个被设区域建立位置关联:

多个被设区域呈p行×p列;每一被设区域为多个被设区域中第n行第m列的被设区域,其中n大于0,且小于或等于p的整数,m大于0,且小于或等于p的整数;

与每一被设区域各自相关联的l2个被设区域包括:多个被设区域中的第行第列的被设区域,其中,i∈(0,l],j∈(0,l],i,j均为正整数。每次从i∈(0,l]中依次为i取一个固定取值时,从j∈(0,l]中依次为j取不同值,得到与每一被设区域各自相关联的l2个被设区域;或者,每次从j∈(0,l]中依次i取一个固定取值时,从i∈(0,l]中依次给j取不同值,得到与每一被设区域各自相关联的l2个被设区域。具体的,参见如下:

与每一被设区域各自相关联的l2个被设区域包括:多个被设区域中的第行第列的被设区域,

......,

行第列的被设区域,

......,

行第列的被设区域,

......,

行第列的被设区域。

第一示例,在l的取值为2时,l2的取值为4,重置色彩区域呈2行×2列;p=24,多个被设区域呈24行×24列,每一被设区域与相关联的l2个被设区域建立位置关联:

每一被设区域为多个被设区域中第n行第m列的被设区域,n大于0,且小于或等于p的整数,m大于0,且小于或等于p的整数;

与每一被设区域各自相关联的22个被设区域包括:多个被设区域中的第2[(n-1)mod12]+1行第2[(m-1)mod12]+1列的被设区域,第2[(n-1)mod12]+1行第2[(m-1)mod12]+2列的被设区域,第2[(n-1)mod12]+2行第2[(m-1mod12+1列的被设区域,以及第2n-1mod12+2行第2m-1mod12+2列的被设区域。

这样可以每一被设区域与各自相关联的4个被设区域建立位置关系,方便在掌握每一被设区域的情况下,直接使用与每一被设区域各自相关联的4个被设区域。

第二示例,在l的取值为4时,l2的取值为16,重置色彩区域呈4行×4列;p=24,多个被设区域呈24行×24列。这里可以通过两种方式实现取值为16的l2。其中,一种实现方式,可以通过两次划分每一被设区域完成的。具体的,

已划分每一被设区域为2行×2列的重置色彩区域,并且该2行×2列的重置色彩区域已设置重置色彩,再重新将已设置重置色彩的重置色彩区域确定为被设区域;将重新确定的被设区域划分为2行×2列的重置色彩区域,对重新确定的重置色彩区域,进而得到呈4行×4列的重置色彩区域。

这样,按照上述第一示例,将每一被设区域与相关联的l2个被设区域建立位置进行两次关联,既可,完成在重置色彩区域呈4行×4列时,每一被设区域与相关联的l2个被设区域建立位置关联的过程。

另一种实现方式,每一被设区域为所述多个被设区域中第n行第m列的被设区域,所述n大于0,且小于或等于p的整数,所述m大于0,且小于或等于p的整数;

与每一被设区域各自相关联的42个被设区域包括:多个被设区域中的第4[(n-1)mod12]+1行第4[(m-1)mod12]+1列的被设区域,

第4[(n-1)mod12]+1行第4[(m-1)mod12]+2列的被设区域,

第4[(n-1)mod12]+1行第4[(m-1)mod12]+3列的被设区域,

第4[(n-1)mod12]+1行第4[(m-1)mod12]+4列的被设区域,

第4[(n-1)mod12]+2行第4[(m-1)mod12]+1列的被设区域,

第4[(n-1)mod12]+2行第4[(m-1)mod12]+2列的被设区域,

第4[(n-1)mod12]+2行第4[(m-1)mod12]+3列的被设区域,

第4[(n-1)mod12]+2行第4[(m-1)mod12]+4列的被设区域,

第4[(n-1)mod12]+3行第4[(m-1)mod12]+1列的被设区域,

第4[(n-1)mod12]+3行第4[(m-1)mod12]+2列的被设区域,

第4[(n-1)mod12]+3行第4[(m-1)mod12]+3列的被设区域,

第4[(n-1)mod12]+3行第4[(m-1)mod12]+4列的被设区域,

第4[(n-1)mod12]+4行第4[(m-1)mod12]+1列的被设区域,

第4[(n-1)mod12]+4行第4[(m-1)mod12]+2列的被设区域,

第4[(n-1)mod12]+4行第4[(m-1)mod12]+3列的被设区域,以及,

第4[(n-1)mod12]+4行第2[(m-1)mod12]+4列的被设区域。

这样可以每一被设区域与各自相关联的16个被设区域建立位置关系,方便在掌握每一被设区域的情况下,直接使用与每一被设区域各自相关联的16个被设区域。

步骤140,基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩,确定重置色彩区域中的l2个重置色彩,重置色彩为由默认数值变更的第一颜色分量、默认数值变更的第二颜色分量、默认数值的第三颜色分量形成的。

本发明实施例中二维码中未划分的被设区域的色彩,称为被设区域的色彩。这个被设区域的色彩,可以与重置色彩进行区分。本发明实施例的重置色彩是指需要对重置色彩区域所重新设置的色彩。

上述重置色彩可以是定义色彩;定义色彩可以根据用户需要进行设置,也可以基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩,确定重置色彩区域中的l2个重置色彩,所述重置色彩为由所述默认数值变更的第一颜色分量、默认数值变更的第二颜色分量、所述默认数值的第三颜色分量得到的。

步骤150,将l2个重置色彩设置在l行×l列的重置色彩区域中,获得已处理的二维码。

若针对所有的重置色彩区域,将重置色彩已经完成设置在各自的重置色彩区域中,目前只需要获得已处理的二维码,则本步骤150可以采用如下至少一种实现方式,将l2个重置色彩设置在l行×l列的重置色彩区域中,获得已处理的二维码:

针对所有的重置色彩区域,将l2个重置色彩设置在l行×l列的重置色彩区域中,将已经完成重置色彩的所有重置色彩区域,生成已处理的二维码。这样可以需要进行本次重置色彩,得到所需的已处理的二维码,方便快速地得到所需的已处理的二维码。

由于本发明实施例使用的是三维颜色空间,针对所有的重置色彩区域,将l2个重置色彩设置在l行×l列的重置色彩区域中,还需要对已经完成设置重置色彩的重置色彩区域,再进行重置色彩,最终获得已处理的二维码,则本步骤150可以采用如下第一步至第四步的步骤,实现将l2个重置色彩设置在l行×l列的重置色彩区域中,获得已处理的二维码:

第一步,将已设置重置色彩的重置色彩区域确定为被设区域,划分每一被设区域为l行×l列的重置色彩区域,l大于或等于2;

第二步,从与每一被设区域预先建立位置关联的l2个被设区域中,得到每一被设区域关联的l2个被设区域;

第三步,基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩,确定重置色彩区域中的l2个重置色彩,重置色彩为默认数值变更的第一颜色分量、默认数值变更的第二颜色分量、默认数值变更的第三颜色分量形成的;

第四步,将l2个重置色彩设置在l行×l列的重置色彩区域中,获得已处理的二维码。这样可以进行多次重置色彩,满足不同用户的需求,也可以通过多次设置的重置色彩区域,分别展示一个完整二维码的色彩,增加了已处理的二维码的辨识方式。后续用户可以利用任一个二维码的色彩,识读重置色彩区域设有的色彩,映射成二进制序列,不需要用户调整手机与所扫描的二维码之间的距离,提高了二维码的辨识度,提高用户信息获取的效率。

经过上述第一步至第四步的步骤,可以将被设区域开始划分的份数为4份,也就是l2的取值为4;被设区域结束划分的份数为16份,也就是l2的取值为16。一般4份都可以展示一个完整二维码的色彩,已经可以满足用户的需求,16份都可以展示一个完整二维码的色彩,满足用户更高的需求。

本发明实施例的二维码生成方法,相当于实现将待处理二维码的所有被设区域,统一划分为l行×l列矩阵的l2个区域;每个区域内的所有被设区域被划分为l行×l列矩阵的l2个重置色彩区域,这样每个区域内的所有重置色彩区域包含待处理二维码的所有被设区域的色彩。这样可以由被设区域形成一个完整二维码的色彩,也可以在每个区域的所有重置色彩区域中展示一个完整二维码的色彩,也就是,一个已处理的二维码可以包含一个待处理二维码的色彩,和划分后l2待处理二维码的色彩,即,一个已处理的二维码合计可包含至少l2+1个二维码的色彩,增加了已处理的二维码的辨识方式。后续用户可以利用任一个二维码的色彩,识读重置色彩区域设有的色彩,映射成二进制序列,不需要用户调整手机与所扫描的二维码之间的距离,提高了二维码的辨识度,提高用户信息获取的效率。

结合上述图1所示的实施例,参见图2,图2为本发明实施例提供的图1中步骤140,可以采用如下步骤141至步骤142,实现基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩,确定重置色彩区域中的l2个重置色彩:

每一被设区域用于表示所述二维码的二进制序列中的一个二进制算符;

步骤141,从与每一被设区域预先建立位置关联的l2个被设区域中,得到每一被设区域关联的l2个被设区域各自的二进制子序列,作为关联的二进制子序列,关联的二进制子序列是由每一被设区域关联的l2个被设区域各自表示的二进制算符组成的。

本步骤141,可以通过如下至少一种可能的实现方式,查找每一被设区域关联的二进制子序列:

在一种可能的实现方式中,按照与每一被设区域预先建立位置关联的l2个被设区域,从获取的二维码的二进制序列中,直接查找出每一被设区域关联的二进制子序列。这样就可以直接使用每一被设区域关联的二进制子序列。

在另一种可能的实现方式中,每一被设区域用于表示所述二维码的二进制序列中的一个二进制算符;

按照与每一被设区域预先建立位置关联的l2个被设区域,从所有被设区域中的色彩,分别得到每一被设区域关联的l2个被设区域的色彩;

按照预设色彩与二进制算符的映射关系,基于每一被设区域关联的l2个被设区域的色彩,得到每一被设区域关联的二进制子序列。

上述预设色彩可以根据用户需要进行设置,预设色彩与二进制算符的映射关系可以是将重置色彩与二进制算符建立的映射关系,也可以是原有色彩与二进制算符建立的映射关系。

步骤142,按照预设色彩与二进制算符的映射关系,确定关联的二进制子序列中的二进制算符映射的预设色彩,作为重置色彩区域各自的重置色彩。

本发明实施例,利用每一被设区域关联的二进制子序列,将关联的二进制子序列中的二进制算符映射的预设色彩,确定为l2个重置色彩区域各自的重置色彩,这样由于l2个重置色彩区域各自的重置色彩对应的第一色差分量与被设区域的色彩的另一个色差分量不同,可以区分被设区域的色彩及重置色彩区域的重置色彩,不仅待处理二维码的所有被设区域,展示待处理二维码所有被设区域的色彩,而且,重置色彩区域,也展示待处理二维码被设区域的色彩,从而可以通过在二维码的被设区域和重置色彩区域来辨识已处理的二维码,增加了已处理的二维码的辨识方式,也提高了已处理的二维码的信息承载能力。后期可以利用被设区域的色彩及重置色彩区域的色彩,识读已处理二维码。

参见图3所示,本发明实施例的具体实现流程举例如下。

先说明一下,图4、图5及图6中只示意了图4中的一个待处理二维码的被设区域w。

步骤210,获取待处理二维码,待处理二维码包括:多个已设有色彩的区域,将已设有色彩的区域,作为被设区域,色彩是由三维颜色空间的三个颜色分量形成的,三个颜色分量分别为:默认数值变更的第一颜色分量,默认数值的第二颜色分量和默认数值的第三颜色分量。

由为128的默认数值的色差分量u,为128的默认数值的色差分量v,取0,255的默认数值变更的亮度分量y,形成第一色彩所形成的色彩,对应色彩分别为黑色、白色。预设色彩与二进制算符的映射关系分别为二进制算符0与黑色的映射关系,二进制算符1与白色的映射关系。

如图4中待处理二维码中示意被设区域的所表示的部分二进制算符:

图4中的待处理二维码的被设区域的色彩:如下只示意出包含:待处理二维码的被设区域的色彩中第1行第1个的色彩至第1行第8个的色彩,即,255、0、255、0、255、255、255、0;第2行第1个的色彩至第1行第8个的色彩,即,0、255、0、255、255、0、0、0;第p行第1个的色彩至第p行第8个的色彩,即,0、255、255、255、0、255、0、255,第1行第p个的色彩,即,0,第2行第p个的色彩,即,0,以及至第p行第p个的色彩,即,0。

步骤220,划分每一被设区域为l行×l列的重置色彩区域,l的取值为2。

步骤230,从与每一被设区域预先建立位置关联的l2个被设区域中,得到每一被设区域关联的l2个被设区域。

步骤240,基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩,确定重置色彩区域中的l2个重置色彩,重置色彩为由默认数值变更的第一颜色分量、默认数值变更的第二颜色分量、默认数值的第三颜色分量形成的。

本步骤240中,确定为重置色彩区域各自的重置色彩分别为:由默认数值变更的色差分量u、默认数值的色差分量v以及默认数值变更的亮度分量y形成的。色差分量u为默认数值变更的第二颜色分量,色差分量u为在该色差分量所在的该色差范围内取除128以外的数值,比如,色差分量u分别取0或255,默认数值的色差分量v为128,默认数值变更的亮度分量y分别取0或255。

参见图5所示,取第一数值的色差分量u、取第二数值的亮度分量y及默认数值的色差分量v形成的色彩与第二二进制算符1之间的映射关系;

取第一数值的色差分量u、取第一数值的亮度分量y及默认数值的色差分量v形成的色彩与第一二进制算符0之间的映射关系;

取第二数值的色差分量u、取第二数值的亮度分量y及默认数值的色差分量v形成的色彩与第二二进制算符1之间的映射关系;

取第二数值的色差分量u、取第一数值的亮度分量y及默认数值的色差分量v形成的色彩与第一二进制算符0之间的映射关系。

采用如下方式表示待处理二维码的重置色彩区域各自的重置色彩,只示意出图4中待处理二维码的被设区域的色彩中第1行第1个的色彩至第1行第4个的色彩,即,255、0、255、0;第2行第1个的色彩至第1行第4个的色彩,即,0、255、0、255;第p行第1个的色彩至第p行第4个的色彩,即,0、255、255、255,第1行第p个的色彩,即,0,第2行第p个的色彩,即,0,以及至第p行第p个的色彩,即,0等色彩,所对应的重置色彩区域各自的重置色彩等,这些示意出图4中的待处理二维码的被设区域的色彩对应的重置色彩区域各自的重置色彩。

步骤250,将已设置重置色彩的重置色彩区域确定为被设区域,划分每一被设区域为l行×l列的重置色彩区域,l大于或等于2;

步骤260,从与每一被设区域预先建立位置关联的l2个被设区域中,得到每一被设区域关联的l2个被设区域;

步骤270,基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩,确定重置色彩区域中的l2个重置色彩,重置色彩为默认数值变更的第一颜色分量、默认数值变更的第二颜色分量、默认数值变更的第三颜色分量形成的;

步骤280,将l2个重置色彩设置在l行×l列的重置色彩区域中,获得已处理的二维码。

参见图6所示,取第一数值的色差分量u、取第二数值的亮度分量y及取第一数值的色差分量v形成的色彩与第二二进制算符1之间的映射关系;

取第一数值的色差分量u、取第一数值的亮度分量y及取第一数值的色差分量v形成的色彩与第一二进制算符0之间的映射关系;

取第二数值的色差分量u、取第二数值的亮度分量y及取第一数值的色差分量v形成的色彩与第二二进制算符1之间的映射关系;

取第二数值的色差分量u、取第一数值的亮度分量y及取第一数值的色差分量v形成的色彩与第一二进制算符0之间的映射关系;

取第一数值的色差分量u、取第二数值的亮度分量y及取第二数值的色差分量v形成的色彩与第二二进制算符1之间的映射关系;

取第一数值的色差分量u、取第一数值的亮度分量y及取第二数值的色差分量v形成的色彩与第一二进制算符0之间的映射关系;

取第二数值的色差分量u、取第二数值的亮度分量y及取第二数值的色差分量v形成的色彩与第二二进制算符1之间的映射关系;

取第二数值的色差分量u、取第一数值的亮度分量y及取第二数值的色差分量v形成的色彩与第一二进制算符0之间的映射关系。

本发明实施例,由于三维颜色空间,可以通过不同颜色分量进行多次重置色彩,这样利用两次对被设区域的色彩进行重置色彩,计算量小,满足用户需求。不仅待处理二维码的所有被设区域,展示待处理二维码所有被设区域的色彩,而且,重置色彩区域,也展示待处理二维码被设区域的色彩,从而可以通过在二维码的被设区域和重置色彩区域来辨识已处理的二维码,增加了已处理的二维码的辨识方式,也提高了已处理的二维码的信息承载能力。

第二方面,下面继续对本发明实施例提供的一种二维码识读方法进行介绍。

参见图7,图7为本发明实施例提供的二维码识读方法的第一流程示意图。本发明实施例所提供的一种二维码识读方法,可以包括如下步骤:

步骤310,扫描二维码。

本步骤310,具体包括:电子设备先获取二维码的水平和垂直维度,然后用电子设备扫描二维码;再然后用边界滤波器,如sobel(sobeloperator,索贝尔算子)算子求二维码的边界位置;再基于边界位置对扫描到的二维码进行位置矫正,使二维码所有边界都是或者水平或者垂直,且间距相等;再消除光照强度对整个二维码的影响;然后求边界之间的水平垂直距离。其中,sobel算子是图像处理中的算子之一,主要用作边缘检测。具体详细过程均为现有技术,在此不再赘述。

步骤320,获取二维码中每个被设区域被划分的规则以及,基于被划分的规则,从二维码中扫描到的多个被设区域,每个被设区域被划分的规则为划分每一被设区域为l行×l列的重置色彩区域,该被设区域已设有色彩。

步骤330,判断扫描到的多个被设区域的区域数量是否小于预设区域数量,预设区域数量为二维码的所有被设区域的区域总数,若是,则执行步骤331,若否,则执行步骤335。预设区域数量是由二维码决定的。

步骤331,从扫描到的多个被设区域中,获取重置色彩区域的区域数量。

步骤332,判断重置色彩区域的区域数量是否大于或等于预设区域数量,若是,则执行步骤333,若否,则执行步骤310;

步骤333,读取重置色彩区域设有的色彩,重置色彩区域设有设有的色彩,该重置色彩区域设有的色彩是基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩获得的。

步骤334,从重置色彩区域中,提取三维颜色空间的色彩。

在所述三维颜色空间为yuv颜色空间的情况下,本步骤334,从重置色彩区域中,提取yuv颜色空间的色差分量;yuv颜色空间的色差分量包括:yuv颜色空间的色差分量u或色差分量v以及亮度分量y。

步骤335,按照预设色彩与二进制算符的映射关系,将所述重置色彩区域提取的色彩,映射成二进制序列。上述预设色彩与二进制算符的映射关系包括:第一预设色彩与二进制算符的第一映射关系及第二预设色彩与二进制算符的第二映射关系,与上述限定的内容相同,在此不再赘述。

这里的第一预设色彩与二进制算符的第一映射关系,可以为由第一颜色分量、第二颜色分量及第三颜色分量形成的第一预设色彩,与二进制算符中的一个二进制算符或者第二二进制算符之间的映射关系。

具体的,第一数值和第二数值可以在[0,255]中取值,二进制算符包括:第一二进制算符及第二二进制算符,示例性的,第一数值可以为0,第二数值可以为255,第一二进制算符为0及第二二进制算符为1;

第一预设色彩与二进制算符的第一映射关系可以为:由取第一数值的第一颜色分量,默认数值的第二颜色分量和默认数值的第三颜色分量形成的第一预设色彩,与第一二进制算符0之间的映射关系;

这里的第二预设色彩与二进制算符的第二映射关系,可以为:由取第二数值的第一颜色分量,默认数值的第二颜色分量和默认数值的第三颜色分量形成的第二预设色彩,与第二二进制算符1之间的映射关系。

第一预设色彩与二进制算符的第一映射关系可以为:

由取第一数值的色差分量u、取第一数值的亮度分量y及默认数值的色差分量v形成的色彩与第一二进制算符0之间的映射关系;以及

由取第二数值的色差分量u、取第一数值的亮度分量y及默认数值的色差分量v形成的色彩与第一二进制算符0之间的映射关系。

这里的第二预设色彩与二进制算符的第二映射关系,可以为:

取第一数值的色差分量u、取第二数值的亮度分量y及默认数值的色差分量v形成的色彩与第二二进制算符1之间的映射关系;

取第二数值的色差分量u、取第二数值的亮度分量y及默认数值的色差分量v形成的色彩与第二二进制算符1之间的映射关系。

第一预设色彩与二进制算符的第一映射关系可以为:

取第一数值的色差分量u、取第一数值的亮度分量y及取第一数值的色差分量v形成的色彩与第一二进制算符0之间的映射关系;

取第二数值的色差分量u、取第一数值的亮度分量y及取第一数值的色差分量v形成的色彩与第一二进制算符0之间的映射关系;

取第一数值的色差分量u、取第一数值的亮度分量y及取第二数值的色差分量v形成的色彩与第一二进制算符0之间的映射关系;以及

取第二数值的色差分量u、取第一数值的亮度分量y及取第二数值的色差分量v形成的色彩与第一二进制算符0之间的映射关系。

这里的第二预设色彩与二进制算符的第二映射关系,可以为:

取第二数值的色差分量u、取第二数值的亮度分量y及取第一数值的色差分量v形成的色彩与第二二进制算符1之间的映射关系;

由取第一数值的色差分量u、取第二数值的亮度分量y及取第一数值的色差分量v形成的色彩与第二二进制算符1之间的映射关系;

取第一数值的色差分量u、取第二数值的亮度分量y及取第二数值的色差分量v形成的色彩与第二二进制算符1之间的映射关系;以及

取第二数值的色差分量u、取第二数值的亮度分量y及取第二数值的色差分量v形成的色彩与第二二进制算符1之间的映射关系。

步骤335具体的包括:第1步骤,从扫描到的多个被设区域中,获取每一被设区域各自划分的重置色彩区域设有的色彩。

第2步骤,将每一被设区域各自划分的重置色彩区域设有的色彩求平均值,得到每一被设区域的像素平均值。

第3步骤,判断每一被设区域的像素平均值高于或低于预设像素平均值,若高于,则执行步骤第4步骤,若低于,则执行第5步骤;

第4步骤,将每一被设区域的像素平均值,映射为第一二进制算符。

预设像素平均值可以根据用户进行设置。示例性的,预设像素平均值为128。

第5步骤,将每一被设区域的像素平均值,映射为第二二进制算符,第一二进制算符和第二二进制算符的数值不同。利用步1步骤至步骤5步骤,将所有被设区域的像素平均值映射成二进制算符,则相当于映射成二进制序列。

为了区分被设区域与重置色彩区域,被设区域的色彩,与重置色彩区域的色彩不同,因此将二维码映射成二进制序列时,需要掌握重置色彩区域设有的色彩的种类数量,可以采用如下实现方式,将所述重置色彩区域设有的色彩,映射成二进制序列:

在一种实现方式中,第一步,确定重置色彩区域设有的色彩的种类数量。

第二步,按照预设色彩映射的二进制算符,与预设色彩之间的映射关系中每种色彩对应的二进制算符,将重置色彩区域设有的色彩,映射成二进制序列。

预设色彩映射的二进制算符,与预设色彩之间的映射关系,可以是按照重置色彩区域设有的色彩的种类数量确定的映射关系。比如,种类数量为2种,按照这两种预设色彩,与预设色彩映射的二进制算符建立映射关系。具体的,种类数量为2种,这2种预设色彩分别为黑色和白色,黑色与黑色映射的二进制算符为0建立映射关系,白色与白色映射的二进制算符为1建立映射关系。

再比如,种类数量为8种,然后按照这8种预设色彩,与预设色彩映射的二进制算符建立映射关系。在此不再举例。

这样可以先读取重置色彩区域设有的色彩的种类数量,然后再按照种类数量,从预设色彩映射的二进制算符,与预设色彩之间的映射关系中,找到每种所述重置色彩区域设有的色彩对应的二进制算符,这样相较于从预设色彩映射的二进制算符,与预设色彩之间的映射关系的整体表格中查找每种重置色彩区域设有的色彩,效率更高,也可以准确地找到所有种类数量对应的二进制算符。

本发明实施例,不仅待处理二维码的所有被设区域,展示待处理二维码所有被设区域的色彩,而且,重置色彩区域,也展示待处理二维码被设区域的色彩。这样可以通过在二维码的被设区域和重置色彩区域辨识二维码,增加了已处理的二维码的辨识方式,也提高了已处理的二维码的信息承载能力。利用被设区域的色彩及重置色彩区域的色彩,识读已处理二维码。相较于现有技术,若只扫描到二维码中部分区域,也就是重置色彩区域,并不是所有的被设区域,且扫描的二维码中,重置色彩区域的数量大于或等于预设区域数量,则读取重置色彩区域设有的色彩,映射成二进制序列,不需要用户调整手机与所扫描的二维码之间的距离,提高了二维码的辨识度,提高用户信息获取的效率,方便用户使用,提高用户体验效果。

对应于第一方面的二维码生成方法,下面继续对本发明实施例提供的一种二维码生成装置进行介绍。

参见图8,图8为本发明实施例的二维码生成装置的结构示意图,本发明实施例还提供一种二维码生成装置,装置包括:

第一获取模块41,用于获取待处理二维码,所述待处理二维码包括:多个已设有色彩的区域,将已设有色彩的区域,作为被设区域,所述色彩是由三维颜色空间的三个颜色分量形成的,所述三个颜色分量分别为:默认数值变更的第一颜色分量,默认数值的第二颜色分量和默认数值的第三颜色分量;

划分模块42,用于划分每一被设区域为l行×l列的重置色彩区域,所述l大于或等于2;

第二获取模块43,用于从与每一被设区域预先建立位置关联的l2个被设区域中,得到每一被设区域关联的l2个被设区域;

第一获得模块44,用于基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩,确定重置色彩区域中的l2个重置色彩,所述重置色彩为由所述默认数值变更的第一颜色分量、默认数值变更的第二颜色分量、所述默认数值的第三颜色分量形成的;

第二获得模块45,用于将l2个重置色彩设置在l行×l列的重置色彩区域中,获得已处理的二维码。

在一种可能的实现方式中,所述第二获得模块43,具体用于:

将已设置重置色彩的重置色彩区域确定为被设区域,划分每一被设区域为l行×l列的重置色彩区域,所述l大于或等于2;

从与每一被设区域预先建立位置关联的l2个被设区域中,得到每一被设区域关联的l2个被设区域;

基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩,确定重置色彩区域中的l2个重置色彩,所述重置色彩为所述默认数值变更的第一颜色分量、默认数值变更的第二颜色分量、默认数值变更的第三颜色分量形成的;

将l2个重置色彩设置在l行×l列的重置色彩区域中,获得已处理的二维码。

在一种可能的实现方式中,每一被设区域用于表示所述二维码的二进制序列中的一个二进制算符;

所述第一获得模块41,具体用于:

从与每一被设区域预先建立位置关联的l2个被设区域中,得到每一被设区域关联的l2个被设区域各自的二进制子序列,作为关联的二进制子序列,所述关联的二进制子序列是由所述每一被设区域关联的l2个被设区域各自表示的二进制算符组成的;

按照预设色彩与二进制算符的映射关系,确定关联的二进制子序列中的二进制算符映射的预设色彩,作为重置色彩区域各自的重置色彩。

在一种可能的实现方式中,多个被设区域呈p行×p列;

所述装置还包括:建立模块,该建立模块,用于采用如下步骤,每一被设区域与相关联的l2个被设区域建立位置关联:

采用如下步骤,每一被设区域与相关联的l2个被设区域建立位置关联:

采用如下步骤,每一被设区域与相关联的l2个被设区域建立位置关联:

所述每一被设区域为所述多个被设区域中第n行第m列的被设区域,所述n大于0,且小于或等于p的整数,所述m大于0,且小于或等于p的整数;

与所述每一被设区域各自相关联的l2个被设区域包括:所述多个被设区域中的第行第列的被设区域,

......,

行第列的被设区域,

......,

行第列的被设区域,

......,

行第列的被设区域。

对应于第二方面的二维码识读方法,下面继续对本发明实施例提供的一种二维码识读装置进行介绍。

参见图9,图9为本发明实施例的二维码识读装置的结构示意图,本发明实施例还提供一种二维码识读装置,应用于上述的二维码生成装置,二维码识读装置包括:

第一读取模块51,用于扫描二维码;

第二读取模块52,用于获取所述二维码中每个被设区域被划分的规则以及,基于被划分的规则,从所述二维码中扫描到的多个被设区域,所述每个被设区域被划分的规则为划分每一被设区域为l行×l列的重置色彩区域,所述被设区域已设有色彩;

第三获取模块53,用于若所述扫描到的多个被设区域的区域数量小于预设区域数量,则从所述扫描到的多个被设区域中,获取重置色彩区域的区域数量,所述预设区域数量为所述二维码的所有被设区域的区域总数;

第三读取模块54,用于若所述重置色彩区域的区域数量大于或等于所述预设区域数量,则读取所述重置色彩区域设有的色彩,所述重置色彩区域设有的色彩是基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩获得的;

提取模块55,用于从所述重置色彩区域中,提取三维颜色空间的色彩;

映射模块56,用于按照预设色彩与二进制算符的映射关系,将所述重置色彩区域提取的色彩,映射成二进制序列。

在一种可能的实现方式中,所述装置还包括:第四获取模块,所述第四获取模块,用于:

若所述扫描到的多个被设区域的区域数量大于或等于预设区域数量,则从所述扫描到的多个被设区域中,获取每一被设区域各自划分的所述重置色彩区域设有的色彩;

将每一被设区域各自划分的所述重置色彩区域设有的色彩求平均值,得到每一被设区域的色彩平均值;

若每一被设区域的色彩平均值高于第二预设色彩,则将每一被设区域的色彩平均值映射为第一二进制算符;

若每一被设区域的色彩平均值低于所述第二预设色彩,则将每一被设区域的色彩平均值映射为第二二进制算符,所述第一二进制算符和所述第二二进制算符的数值不同。

在一种可能的实现方式中,所述映射模块,具体用于:

确定所述重置色彩区域设有的色彩的种类数量;

从预设色彩映射的二进制算符,与预设色彩之间的映射关系中,按照种类数量,找到每种所述重置色彩区域设有的色彩对应的二进制算符;

按照预设色彩映射的二进制算符,与所述预设色彩之间的映射关系中每种色彩对应的二进制算符,将所述重置色彩区域设有的色彩,映射成二进制序列。

对应于第一方面的二维码生成方法,参见图10,图10为本发明实施例的电子设备的结构示意图。本发明实施例还提供了一种电子设备,包括处理器61、通信接口62、存储器63和通信总线64,其中,处理器61,通信接口62,存储器63通过通信总线64完成相互间的通信,

存储器63,用于存放计算机程序;

处理器61,用于执行存储器63上所存放的程序时,实现如下步骤:

获取待处理二维码,所述待处理二维码包括:多个已设有色彩的区域,将已设有色彩的区域,作为被设区域,所述色彩是由三维颜色空间的三个颜色分量形成的,所述三个颜色分量分别为:默认数值变更的第一颜色分量,默认数值的第二颜色分量和默认数值的第三颜色分量;

划分每一被设区域为l行×l列的重置色彩区域,所述l大于或等于2;

从与每一被设区域预先建立位置关联的l2个被设区域中,得到每一被设区域关联的l2个被设区域;

基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩,确定重置色彩区域中的l2个重置色彩,所述重置色彩为由所述默认数值变更的第一颜色分量、默认数值变更的第二颜色分量、所述默认数值的第三颜色分量形成的;

将l2个重置色彩设置在l行×l列的重置色彩区域中,获得已处理的二维码

对应于第二方面的二维码识读方法,参见图11,图11为本发明实施例的电子设备的结构示意图。本发明实施例还提供了一种电子设备,包括处理器71、通信接口72、存储器73和通信总线74,其中,处理器71,通信接口72,存储器73通过通信总线74完成相互间的通信,

存储器73,用于存放计算机程序;

处理器71,用于执行存储器73上所存放的程序时,实现如下步骤:

获取所述二维码中每个被设区域被划分的规则以及,基于被划分的规则,从所述二维码中扫描到的多个被设区域,所述每个被设区域被划分的规则为划分每一被设区域为l行×l列的重置色彩区域,所述被设区域已设有色彩;

若所述扫描到的多个被设区域的区域数量小于预设区域数量,则从所述扫描到的多个被设区域中,获取重置色彩区域的区域数量,所述预设区域数量为所述二维码的所有被设区域的区域总数;

若所述重置色彩区域的区域数量大于或等于所述预设区域数量,则读取所述重置色彩区域设有的色彩,所述重置色彩区域设有的色彩是基于每一被设区域关联的l2个被设区域及每一被设区域关联的l2个被设区域各自的色彩获得的;

从所述重置色彩区域中,提取三维颜色空间的色彩;

按照预设色彩与二进制算符的映射关系,将所述重置色彩区域提取的色彩,映射成二进制序列。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是二进制数信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本发明实施例提供的方法可以应用于电子设备。具体的,该电子设备可以为:台式计算机、便携式计算机、智能移动终端、服务器等。在此不作限定,任何可以实现本发明的电子设备,均属于本发明的保护范围。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的二维码生成方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的二维码生成方法。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的二维码识读方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的二维码识读方法。

对于装置/电子设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、二进制数用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/电子设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1