一种二维码生成方法以及相关设备与流程

文档序号:30606522发布日期:2022-07-01 22:36阅读:833来源:国知局
一种二维码生成方法以及相关设备与流程

1.本技术涉及图像识别领域,尤其涉及一种二维码生成方法以及相关设备。


背景技术:

2.二维码又称二维条码,是用某种特定的几何图形按一定规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形。常见的二维码为qr code,是一个近几年来移动设备上超流行的一种编码方式,它比传统的bar code条形码能存更多的信息,也能表示更多的数据类型。
3.随着智能手机的普及和移动互联网的发展,二维码作为一种方便快捷的图形化信息传递方式,已经广泛地应用于各个领域。然而,现在的二维码大多是千篇一律的黑白方块造型,样式单一、缺乏个性,难以在视觉上对受众产生足够的吸引力,且编码方式公开,不私密不安全。一些应用程序推出了自己的专属自定义二维码,可以增加品牌辨识度,并且使用自己定义的私有编码方式。
4.但是,这些二维码每个码元用黑白表示,只能表示1个bit,即0或者1,导致容量小。为了提高二维码容量,可以设计彩色二维码。然而,彩色二维码中码元的颜色是根据预设的码本确定,在生成彩色二维码时用户无法对颜色自定义。


技术实现要素:

5.本技术公开了一种二维码生成方法,即使二维码中的颜色都是用户自定义指定的,扫码侧也可以基于扫描到的二维码中码元的颜色之间的特征值大小关系还原出生成二维码时,所采用的颜色和码元信息的对应关系,进而准确识别出二维码中的内容。
6.本技术实施例提供了一种二维码生成方法,所述方法包括:
7.获取m种颜色以及每种颜色在目标颜色通道的特征值,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;
8.根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息;
9.获取目标链接,并生成所述目标链接对应的码流,所述码流包括多个码元信息;
10.根据所述目标映射关系,确定所述码流中每个码元信息对应的颜色,并根据所述码流中每个码元信息对应的颜色,生成目标二维码。
11.在一种可能的实现中,所述获取m种颜色,包括:
12.获取目标对象;
13.根据所述目标对象,获取所述目标对象中包括的m种颜色。
14.在一种可能的实现中,所述获取所述目标对象中包括的m种颜色,包括:
15.获取所述目标对象中像素占比更大的m种颜色。
16.在一种可能的实现中,所述获取所述目标对象中包括的m种颜色,包括:
17.获取所述目标对象中像素占比更大的n种颜色,所述n为大于所述m的正整数;
18.从所述n种颜色中获取满足第一预设条件的m种颜色,所述第一预设条件包括如下的至少一种:所述m种颜色中任意两种颜色在色度通道的特征值之间的差异大于第一预设值、所述m种颜色中每种颜色在饱和度通道的特征值大于第二预设值。
19.在一种可能的实现中,所述根据所述目标对象,获取所述目标对象中包括的m种颜色,包括:
20.获取所述目标对象中包括的n种颜色,所述n为大于m的正整数;
21.显示目标界面,所述目标界面包括n个颜色选项,每个颜色选项用于指示所述n种颜色中的一种;
22.接收用户针对于所述n个颜色选项中m个颜色选项的选择操作;
23.响应于所述选择操作,以获取所述m个颜色选项指示的m种颜色。
24.在一种可能的实现中,所述获取m种颜色,包括:
25.获取目标对象;
26.根据所述目标对象,获取所述目标对象中包括的m种待处理颜色;
27.调整所述m种待处理颜色在亮度通道的特征值,以便所述m种待处理颜色中任意两种待处理颜色在亮度通道的特征值之间的差异大于预设值,以获取所述m种颜色。
28.在一种可能的实现中,所述获取目标对象,包括:
29.显示第一界面,所述第一界面包括第一控件,所述第一控件用于指示用户输入图像;
30.接收用户基于所述第一控件输入的所述目标对象。
31.在一种可能的实现中,所述获取m种颜色,包括:
32.接收用户输入的m种颜色。
33.在一种可能的实现中,所述接收用户输入的m种颜色,包括:
34.显示第二界面,所述第二界面包括第一输入框,所述第一输入框用于指示用户输入用于指示颜色的颜色信息;
35.接收用户在所述第一输入框中输入的m个颜色信息;
36.根据所述m个颜色信息,获取所述m种颜色。
37.在一种可能的实现中,所述目标颜色通道包括如下的至少一种:红色通道、绿色通道、蓝色通道、色度通道、亮度通道、以及饱和度通道。
38.在一种可能的实现中,所述目标链接包括第一字符和第二字符,所述生成所述目标链接对应的码流,包括:
39.基于第一编码规则对所述第一字符进行编码,得到第一子码流;
40.基于第二编码规则对所述第二字符进行编码,得到第二子码流,所述第一编码规则和所述第二编码规则不同。
41.在一种可能的实现中,所述第一字符和所述第二字符的大小相同,所述第一子码流的比特数与所述第二子码流的比特数的大小不同。
42.在一种可能的实现中,所述第一字符和所述第二字符为所述目标链接中相邻的字符,所述基于第一编码规则对所述第一字符进行编码,得到第一子码流之后,所述基于第二编码规则对所述第二字符进行编码之前,所述方法还包括:
43.获取跳转指示符,所述跳转指示符用于指示通过所述第二编码规则进行字符编
码;
44.基于第一编码规则对所述跳转指示符进行编码,得到第三子码流;
45.相应的,所述基于第二编码规则对所述第二字符进行编码,包括:
46.根据所述跳转指示符,基于所述第二编码规则对所述第二字符进行编码。
47.第二方面,本技术提供了一种二维码识别方法,所述方法包括:
48.获取目标图像,所述目标图像包括目标二维码,所述目标二维码包括多个码元;
49.获取所述多个码元包括的m种颜色以及每种颜色在目标颜色通道的特征值;
50.根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息;
51.根据所述目标映射关系,确定所述多个码元中每个码元的颜色所对应的码元信息;
52.根据所述多个码元中每个码元的颜色所对应的码元信息,对所述目标二维码进行译码。
53.在一种可能的实现中,所述方法还包括:
54.获取译码后得到的译码内容,其中所述译码内容包括字符串,所述译码内容用于触发对应的功能;
55.其中所述功能至少包括如下的一种:
56.跳转至对应的网页;
57.打开对应的应用程序中的目标功能;
58.显示对应的字符串;
59.显示对应的视频;
60.或,播放对应的音频。
61.在一种可能的实现中,所述目标颜色通道包括如下的至少一种:红色通道、绿色通道、蓝色通道、色度通道、亮度通道、以及饱和度通道。
62.在一种可能的实现中,所述目标图像为灰度图像,所述目标颜色通道为亮度通道。
63.在一种可能的实现中,所述获取所述多个码元包括的m种颜色,包括:
64.获取所述多个码元中各个码元的颜色,并基于聚类算法,获取所述多个码元包括的m种颜色,其中,所述m种颜色中的每个颜色为聚类算法得到的一个聚类中心;
65.相应的,所述根据所述目标映射关系,确定所述多个码元中每个码元的颜色所对应的码元信息,包括:
66.获取每个码元的颜色与所述m种颜色中最相似的颜色;
67.根据所述目标映射关系,确定所述每个码元的颜色与所述m种颜色中最相似的颜色所对应的码元信息。
68.在一种可能的实现中,所述多个码元中每个码元的颜色所对应的码元信息用于组成码流,所述码流包括第一子码流以及第二子码流;所述根据所述多个码元中每个码元的颜色所对应的码元信息,对所述目标二维码进行译码,包括:
69.基于第一译码规则对所述第一子码流进行译码,得到第一字符;
70.基于第二译码规则对所述第二子码流进行译码,得到第二字符,所述第一译码规则和所述第二译码规则不同。
71.在一种可能的实现中,所述第一字符和所述第二字符的大小相同,所述第一子码流的比特数与所述第二子码流的比特数的大小不同。
72.在一种可能的实现中,所述码流还包括第三子码流,所述第一子码流与所述第三子码流相邻,所述第三子码流与所述第二子码流相邻,所述基于第一译码规则对所述第一子码流进行译码之后,所述基于第二译码规则对所述第二子码流进行译码之前,所述方法还包括:
73.基于所述第一译码规则对所述第三子码流进行译码,得到跳转指示符,所述跳转指示符用于指示通过所述第二译码规则进行字符译码;
74.相应的,所述基于第二译码规则对所述第二子码流进行译码,包括:
75.根据所述跳转指示符,基于所述第二译码规则对所述第二子码流进行译码。
76.第三方面,本技术提供了一种二维码生成装置,所述装置包括:
77.获取模块,用于获取m种颜色以及每种颜色在目标颜色通道的特征值,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;
78.映射关系确定模块,用于根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息;
79.所述获取模块,用于获取目标链接,并生成所述目标链接对应的码流,所述码流包括多个码元信息;
80.生成所述目标链接对应的码流,所述码流包括多个码元信息二维码生成模块,用于根据所述目标映射关系,确定所述码流中每个码元信息对应的颜色,并根据所述码流中每个码元信息对应的颜色,生成目标二维码。
81.在一种可能的实现中,所述获取模块,用于:
82.获取目标对象;
83.根据所述目标对象,获取所述目标对象中包括的m种颜色。
84.在一种可能的实现中,所述获取模块,用于:
85.获取所述目标对象中像素占比更大的m种颜色。
86.在一种可能的实现中,所述获取模块,用于:
87.获取所述目标对象中像素占比更大的n种颜色,所述n为大于所述m的正整数;
88.从所述n种颜色中获取满足第一预设条件的m种颜色,所述第一预设条件包括如下的至少一种:所述m种颜色中任意两种颜色在色度通道的特征值之间的差异大于第一预设值、所述m种颜色中每种颜色在饱和度通道的特征值大于第二预设值。
89.在一种可能的实现中,所述获取模块,用于:
90.获取所述目标对象中包括的n种颜色,所述n为大于m的正整数;
91.显示目标界面,所述目标界面包括n个颜色选项,每个颜色选项用于指示所述n种颜色中的一种;
92.接收用户针对于所述n个颜色选项中m个颜色选项的选择操作;
93.响应于所述选择操作,以获取所述m个颜色选项指示的m种颜色。
94.在一种可能的实现中,所述获取模块,用于:
95.获取目标对象;
96.根据所述目标对象,获取所述目标对象中包括的m种待处理颜色;
97.调整所述m种待处理颜色在亮度通道的特征值,以便所述m种待处理颜色中任意两种待处理颜色在亮度通道的特征值之间的差异大于预设值,以获取所述m种颜色。
98.在一种可能的实现中,所述获取模块,用于:
99.显示第一界面,所述第一界面包括第一控件,所述第一控件用于指示用户输入图像;
100.接收用户基于所述第一控件输入的所述目标对象。
101.在一种可能的实现中,所述获取模块,用于:
102.接收用户输入的m种颜色。
103.在一种可能的实现中,所述获取模块,用于:
104.显示第二界面,所述第二界面包括第一输入框,所述第一输入框用于指示用户输入用于指示颜色的颜色信息;
105.接收用户在所述第一输入框中输入的m个颜色信息;
106.根据所述m个颜色信息,获取所述m种颜色。
107.在一种可能的实现中,所述目标颜色通道包括如下的至少一种:红色通道、绿色通道、蓝色通道、色度通道、亮度通道、以及饱和度通道。
108.在一种可能的实现中,所述目标链接包括第一字符和第二字符,所述获取模块,用于:
109.基于第一编码规则对所述第一字符进行编码,得到第一子码流;
110.基于第二编码规则对所述第二字符进行编码,得到第二子码流,所述第一编码规则和所述第二编码规则不同。
111.在一种可能的实现中,所述第一字符和所述第二字符的大小相同,所述第一子码流的比特数与所述第二子码流的比特数的大小不同。
112.在一种可能的实现中,所述第一字符和所述第二字符为所述目标链接中相邻的字符,所述获取模块,用于:
113.获取跳转指示符,所述跳转指示符用于指示通过所述第二编码规则进行字符编码;
114.基于第一编码规则对所述跳转指示符进行编码,得到第三子码流;
115.根据所述跳转指示符,基于所述第二编码规则对所述第二字符进行编码。
116.第四方面,本技术提供了一种二维码识别装置,所述装置包括:
117.获取模块,用于获取目标图像,所述目标图像包括目标二维码,所述目标二维码包括多个码元;
118.获取所述多个码元包括的m种颜色以及每种颜色在目标颜色通道的特征值;
119.映射关系确定模块,用于根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息;
120.根据所述目标映射关系,确定所述多个码元中每个码元的颜色所对应的码元信息;
121.译码模块,用于根据所述多个码元中每个码元的颜色所对应的码元信息,对所述
目标二维码进行译码。
122.在一种可能的实现中,所述获取模块,用于:
123.获取译码后得到的译码内容,其中所述译码内容包括字符串,所述译码内容用于触发对应的功能;
124.其中所述功能至少包括如下的一种:
125.跳转至对应的网页;
126.打开对应的应用程序中的目标功能;
127.显示对应的字符串;
128.显示对应的视频;
129.或,播放对应的音频。
130.在一种可能的实现中,所述目标颜色通道包括如下的至少一种:红色通道、绿色通道、蓝色通道、色度通道、亮度通道、以及饱和度通道。
131.在一种可能的实现中,所述目标图像为灰度图像,所述目标颜色通道为亮度通道。
132.在一种可能的实现中,所述获取模块,用于:
133.获取所述多个码元中各个码元的颜色,并基于聚类算法,获取所述多个码元包括的m种颜色,其中,所述m种颜色中的每个颜色为聚类算法得到的一个聚类中心;
134.相应的,所述映射关系确定模块,用于获取每个码元的颜色与所述m种颜色中最相似的颜色;
135.根据所述目标映射关系,确定所述每个码元的颜色与所述m种颜色中最相似的颜色所对应的码元信息。
136.在一种可能的实现中,所述多个码元中每个码元的颜色所对应的码元信息用于组成码流,所述码流包括第一子码流以及第二子码流;所述译码模块,用于基于第一译码规则对所述第一子码流进行译码,得到第一字符;
137.基于第二译码规则对所述第二子码流进行译码,得到第二字符,所述第一译码规则和所述第二译码规则不同。
138.在一种可能的实现中,所述第一字符和所述第二字符的大小相同,所述第一子码流的比特数与所述第二子码流的比特数的大小不同。
139.在一种可能的实现中,所述码流还包括第三子码流,所述第一子码流与所述第三子码流相邻,所述第三子码流与所述第二子码流相邻,所述译码模块,用于:
140.基于所述第一译码规则对所述第三子码流进行译码,得到跳转指示符,所述跳转指示符用于指示通过所述第二译码规则进行字符译码;
141.相应的,所述基于第二译码规则对所述第二子码流进行译码,包括:
142.根据所述跳转指示符,基于所述第二译码规则对所述第二子码流进行译码。
143.第五方面,本技术提供了一种二维码生成方法,所述方法包括:
144.获取目标对象以及目标链接;
145.根据所述目标对象,获取所述目标对象中包括的m种颜色,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;
146.其中,终端设备可以基于目标对象自动获取所述目标对象中包括的m种颜色,例如终端设备可以获取目标对象,并获取所述目标对象中像素占比更大的m种颜色;或者,终端
设备可以获取所述目标对象中像素占比更大的n种颜色,并从所述n种颜色中获取满足第一预设条件的m种颜色。一种可选的实现中,终端设备可以获取目标对象,并获取所述目标对象中像素占比更大的m种颜色。从目标对象中提取其中的颜色的算法,可以包括但不限于颜色量化法(color quantization)、聚类(clustering)和颜色建模等方法。以实施时采用聚类算法为例,可以使用k-means聚类算法,从输入的目标图片中提取主要颜色,按照各个主要颜色在目标对象中像素数目由多到少排序,进而得到目标对象中像素占比更大的m种颜色。
147.根据所述m种颜色和所述目标链接,生成目标二维码,其中,所述目标二维码的颜色风格与所述目标对象的颜色风格一致,所述目标二维码包括多个码元,所述多个码元的颜色包括所述m种颜色,且每个码元的颜色对应于一个码元信息,所述多个码元的颜色对应的多个码元信息用于表征所述目标链接。
148.其中,所谓颜色风格一致可以指,目标二维码包括的颜色与目标对象中的主要颜色(例如,主要颜色可以描述为目标对象中像素占比更大的m种颜色)一致,目标二维码与目标对象具有相同的颜色风格辨识度;例如,目标对象为a企业的logo,a企业的logo是红蓝色的,则目标二维码可以包括红蓝色,进而,该目标二维码就具有了a企业的颜色风格辨识度。
149.例如,目标对象可以为企业logo,而目标对象中像素占比更大的m种颜色,可以表征企业logo的主要颜色。
150.例如,目标对象可以为目标商品图像的图像,而目标对象中像素占比更大的m种颜色,可以表征该目标商品的主要颜色。
151.其中,所述多个码元的颜色对应的多个码元信息用于表征所述目标链接,可以理解为,多个码元的颜色对应的多个码元信息携带了目标链接的信息,通过对多个码元的颜色对应的多个码元信息进行解析处理,可以得到目标链接,具体的,多个码元的颜色对应的多个码元信息可以组成一个码流,该码流与对目标链接进行编码后得到的码流一致。
152.本技术实施例提供了一种二维码生成方法,包括:获取目标对象以及目标链接;根据所述目标对象,获取所述目标对象中包括的m种颜色,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;根据所述m种颜色和所述目标链接,生成目标二维码,其中,所述目标二维码的颜色风格与所述目标对象的颜色风格一致,所述目标二维码包括多个码元,所述多个码元的颜色包括所述m种颜色,且每个码元的颜色对应于一个码元信息,所述多个码元的颜色对应的多个码元信息用于表征所述目标链接。本技术基于目标对象中包括的m种颜色,来生成具有和目标对象的颜色风格一致的目标二维码,实现了二维码的颜色自定义。
153.在一种可能的实现中,所述目标对象为用于指示目标企业或目标商品的标识,所述目标二维码包括包括位于中部的图像区域和围绕所述图像区域的编码区域,所述编码区域包括所述多个码元,所述图像区域包括所述目标对象。
154.在一种可能的实现中,所述根据所述目标对象,获取所述目标对象中包括的m种颜色,包括:
155.获取所述目标对象中像素占比更大的m种颜色。
156.在一种可能的实现中,所述根据所述目标对象,获取所述目标对象中包括的m种颜色,包括:
157.获取所述目标对象中包括的n种颜色,所述n为大于m的正整数;
158.显示目标界面,所述目标界面包括n个颜色选项,每个颜色选项用于指示所述n种颜色中的一种;
159.接收用户针对于所述n个颜色选项中m个颜色选项的选择操作;
160.响应于所述选择操作,以获取所述m个颜色选项指示的m种颜色。
161.在一种可能的实现中,所述获取目标对象,包括:
162.显示第一界面,所述第一界面包括第一控件,所述第一控件用于指示用户输入图像;
163.接收用户基于所述第一控件输入的所述目标对象。
164.在一种可能的实现中,所述方法还包括:
165.获取所述m种颜色中每种颜色在目标颜色通道的特征值,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;
166.根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息;
167.生成所述目标链接对应的码流,所述码流包括多个码元信息;
168.相应的,所述根据所述m种颜色和所述目标链接,生成目标二维码,包括:
169.根据所述目标映射关系,确定所述码流中每个码元信息对应的颜色,并根据所述码流中每个码元信息对应的颜色,生成目标二维码。
170.在一种可能的实现中,所述根据所述目标对象,获取所述目标对象中包括的m种颜色,包括:
171.获取所述目标图像中像素占比更大的n种颜色,所述n为大于所述m的正整数;
172.从所述n种颜色中获取满足第一预设条件的m种颜色,所述第一预设条件包括如下的至少一种:所述m种颜色中任意两种颜色在色度通道的特征值之间的差异大于第一预设值、所述m种颜色中每种颜色在饱和度通道的特征值大于第二预设值。
173.在一种可能的实现中,所述目标链接用于触发对应的功能;
174.其中所述功能至少包括如下的一种:
175.跳转至对应的网页;
176.打开对应的应用程序中的目标功能;
177.显示对应的字符串;
178.显示对应的视频;
179.或,播放对应的音频。
180.第六方面,本技术提供了一种二维码生成方法,所述方法包括:
181.接收用户输入的m种颜色以及获取目标链接,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;
182.根据所述m种颜色和所述目标链接,生成目标二维码,其中,所述目标二维码包括多个码元,所述多个码元的颜色包括所述m种颜色,且每个码元的颜色对应于一个码元信息,所述多个码元的颜色对应的多个码元信息用于表征所述目标链接。
183.本技术实施例提供了一种二维码生成方法,包括:接收用户输入的m种颜色以及获取目标链接,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;根据所述m种颜色
和所述目标链接,生成目标二维码,其中,所述目标二维码包括多个码元,所述多个码元的颜色包括所述m种颜色,且每个码元的颜色对应于一个码元信息,所述多个码元的颜色对应的多个码元信息用于表征所述目标链接。本技术基于用户输入的m种颜色,来生成包括m种颜色的目标二维码,实现了二维码的颜色自定义。
184.在一种可能的实现中,所述接收用户输入的m种颜色,包括:
185.显示第二界面,所述第二界面包括第一输入框,所述第一输入框用于指示用户输入用于指示颜色的颜色信息;
186.接收用户在所述第一输入框中输入的m个颜色信息;
187.根据所述m个颜色信息,获取所述m种颜色。
188.在一种可能的实现中,所述方法还包括:
189.获取所述m种颜色中每种颜色在目标颜色通道的特征值,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;
190.根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息;
191.生成所述目标链接对应的码流,所述码流包括多个码元信息;
192.相应的,所述根据所述m种颜色和所述目标链接,生成目标二维码,包括:
193.根据所述目标映射关系,确定所述码流中每个码元信息对应的颜色,并根据所述码流中每个码元信息对应的颜色,生成目标二维码。
194.在一种可能的实现中,所述目标链接用于触发对应的功能;
195.其中所述功能至少包括如下的一种:
196.跳转至对应的网页;
197.打开对应的应用程序中的目标功能;
198.显示对应的字符串;
199.显示对应的视频;
200.或,播放对应的音频。
201.第七方面,本技术提供了一种二维码生成装置,所述装置包括:
202.获取模块,用于获取目标对象以及目标链接;
203.根据所述目标对象,获取所述目标对象中包括的m种颜色,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;
204.二维码生成模块,用于根据所述m种颜色和所述目标链接,生成目标二维码,其中,所述目标二维码的颜色风格与所述目标对象的颜色风格一致,所述目标二维码包括多个码元,所述多个码元的颜色包括所述m种颜色,且每个码元的颜色对应于一个码元信息,所述多个码元的颜色对应的多个码元信息用于表征所述目标链接。
205.在一种可能的实现中,所述目标对象为用于指示目标企业或目标商品的标识,所述目标二维码包括包括位于中部的图像区域和围绕所述图像区域的编码区域,所述编码区域包括所述多个码元,所述图像区域包括所述目标对象。
206.在一种可能的实现中,所述获取模块,用于获取所述目标对象中像素占比更大的m种颜色。
207.在一种可能的实现中,所述获取模块,用于获取所述目标对象中包括的n种颜色,
所述n为大于m的正整数;
208.显示目标界面,所述目标界面包括n个颜色选项,每个颜色选项用于指示所述n种颜色中的一种;
209.接收用户针对于所述n个颜色选项中m个颜色选项的选择操作;
210.响应于所述选择操作,以获取所述m个颜色选项指示的m种颜色。
211.在一种可能的实现中,所述获取模块,用于显示第一界面,所述第一界面包括第一控件,所述第一控件用于指示用户输入图像;
212.接收用户基于所述第一控件输入的所述目标对象。
213.在一种可能的实现中,所述获取模块,用于获取所述m种颜色中每种颜色在目标颜色通道的特征值,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;
214.根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息;
215.生成所述目标链接对应的码流,所述码流包括多个码元信息;
216.相应的,所述二维码生成模块,用于根据所述目标映射关系,确定所述码流中每个码元信息对应的颜色,并根据所述码流中每个码元信息对应的颜色,生成目标二维码。
217.在一种可能的实现中,所述获取模块,用于获取所述目标对象中像素占比更大的n种颜色,所述n为大于所述m的正整数;
218.从所述n种颜色中获取满足第一预设条件的m种颜色,所述第一预设条件包括如下的至少一种:所述m种颜色中任意两种颜色在色度通道的特征值之间的差异大于第一预设值、所述m种颜色中每种颜色在饱和度通道的特征值大于第二预设值。
219.在一种可能的实现中,所述目标链接用于触发对应的功能;
220.其中所述功能至少包括如下的一种:
221.跳转至对应的网页;
222.打开对应的应用程序中的目标功能;
223.显示对应的字符串;
224.显示对应的视频;
225.或,播放对应的音频。
226.第八方面,本技术提供了一种二维码生成装置,所述装置包括:
227.获取模块,用于接收用户输入的m种颜色以及获取目标链接,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;
228.二维码生成模块,用于根据所述m种颜色和所述目标链接,生成目标二维码,其中,所述目标二维码包括多个码元,所述多个码元的颜色包括所述m种颜色,且每个码元的颜色对应于一个码元信息,所述多个码元的颜色对应的多个码元信息用于表征所述目标链接。
229.在一种可能的实现中,所述获取模块,用于显示第二界面,所述第二界面包括第一输入框,所述第一输入框用于指示用户输入用于指示颜色的颜色信息;
230.接收用户在所述第一输入框中输入的m个颜色信息;
231.根据所述m个颜色信息,获取所述m种颜色。
232.在一种可能的实现中,所述获取模块,用于获取所述m种颜色中每种颜色在目标颜色通道的特征值,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;
233.根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息;
234.生成所述目标链接对应的码流,所述码流包括多个码元信息;
235.相应的,所述二维码生成模块,用于根据所述目标映射关系,确定所述码流中每个码元信息对应的颜色,并根据所述码流中每个码元信息对应的颜色,生成目标二维码。
236.在一种可能的实现中,所述目标链接用于触发对应的功能;
237.其中所述功能至少包括如下的一种:
238.跳转至对应的网页;
239.打开对应的应用程序中的目标功能;
240.显示对应的字符串;
241.显示对应的视频;
242.或,播放对应的音频。
243.第九方面,本技术提供了一种终端装置,包括:一个或多个处理器;一个或多个存储器;多个应用程序;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,当所述一个或者多个程序被所述处理器执行时,使得所述终端设备执行上述第一方面至第二方面、第五方面至第六方面及任一方面的可能实现方式中任一项所述的步骤。
244.第十方面,本技术提供了一种装置,该装置包含在终端设备中,该装置具有实现上述第一方面至第二方面、第五方面至第六方面及任一方面的可能实现方式中任一项终端设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。
245.第十一方面,本技术提供了一种终端装置,包括:显示屏;摄像头;一个或多个处理器;存储器;多个应用程序;以及一个或多个计算机程序。其中,一个或多个计算机程序被存储在存储器中,一个或多个计算机程序包括指令。当指令被电子设备执行时,使得电子设备执行上述第一方面至第二方面、第五方面至第六方面及任一方面的可能实现方式中任一项可能实现方式中任一项所述的步骤。
246.第十二方面,本技术提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备或服务器上运行时,使得电子设备执行上述任一方面任一项可能的方法。
247.第十三方面,本技术提供了一种计算机程序产品,包括代码,当代码在电子设备或服务器上运行时,使得电子设备执行上述任一方面任一项可能的方法。
248.本技术实施例提供了一种二维码生成方法,包括:获取m种颜色以及每种颜色在目标颜色通道的特征值,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息;获取目标链接,并生成所述目标链接对应的码流,所述码流包括多个码元信息;根据所述目标映射关系,确定所述码流中每个码元信息对应的颜色,并根据所述码流中每个码元信息对应的颜色,生成目标二维码。通过上述方式,根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,也就是说,在生成二维码的时候,不是将各个颜色对应于固定的码元信息,而是基于各个颜色之间在目标颜色通道的特征值之间的相对大小关系,来生成各个颜色与码元信息的对应关系。例如,m种颜色包括颜色1和颜色2,现有的实现中,颜色1一定对应于码元信息1,颜色2一
定对应于码元信息2,本技术实施例中,颜色在目标颜色通道的特征值较大的则对应于码元信息1,较小的对应于码元信息2,若颜色1在目标颜色通道的特征值大于颜色2在目标颜色通道的特征值,则颜色1对应于码元信息1,颜色2对应于码元信息2,若颜色1在目标颜色通道的特征值小于颜色2在目标颜色通道的特征值,则颜色1对应于码元信息2,颜色2对应于码元信息1。通过这种方式,基于颜色之间的特征值大小关系,来确定颜色和码元信息的对应关系,作为扫码侧,即使二维码中的颜色都是用户自定义指定的,扫码侧也可以基于扫描到的二维码中码元的颜色之间的特征值大小关系还原出生成二维码时,所采用的颜色和码元信息的对应关系,进而准确识别出二维码中的内容。
附图说明
249.图1为本技术实施例提供的终端设备的结构示意;
250.图2为本技术实施例的终端设备的软件结构框图;
251.图3为本技术实施例的二维码生成方法的流程示意图;
252.图4至图10为本技术实施例的终端界面示意图;
253.图11为本技术实施例的灰度分布示意;
254.图12至图15为本技术实施例的终端界面示意图;
255.图16至图21为本技术实施例的编码规则示意;
256.图22a为本技术实施例的编码示意;
257.图22b为本技术实施例的二维码生成方法的流程示意图;
258.图22c为本技术实施例的二维码生成方法的流程示意图;
259.图23为本技术实施例的二维码生成方法的流程示意图;
260.图24为本技术实施例的扫码场景示意图;
261.图25为本技术实施例的二维码识别方法的流程示意图;
262.图26为本技术实施例的二维码生成装置的示意图;
263.图27为本技术实施例的二维码识别装置的示意图;
264.图28为本技术实施例提供的终端设备的结构示意;
265.图29为本技术实施例提供的服务器的结构示意。
具体实施方式
266.下面结合本发明实施例中的附图对本发明实施例进行描述。本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
267.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本技术的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
268.为便于理解,下面将对本技术实施例提供的终端设备100的结构进行示例说明。参见图1,图1是本技术实施例提供的终端设备的结构示意图。
269.如图1所示,终端设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
270.可以理解的是,本技术实施例示意的结构并不构成对终端设备100的具体限定。在本技术另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
271.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
272.其中,控制器可以是终端设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
273.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
274.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i1c)接口,集成电路内置音频(inter-integrated circuit sound,i1s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
275.可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备100的结构限定。在本技术另一些实施例中,终端设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
276.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。
277.电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储
器接口120,显示屏194,摄像头193,和无线通信模块160等供电。
278.终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
279.天线1和天线2用于发射和接收电磁波信号。终端设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
280.移动通信模块150可以提供应用在终端设备100上的包括1g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线2转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
281.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170a,受话器170b等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
282.无线通信模块160可以提供应用在终端设备100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线1接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
283.在一些实施例中,终端设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma),长期演进(long term evolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioning system,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
284.终端设备100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
285.显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,终端设备100可以包括1个或n个显示屏194,n为大于1的正整数。
286.在一些可行的实施方式中,显示屏194可用于显示终端设备100的系统输出的各个界面。终端设备100输出的各个界面可参考后续实施例的相关描述。
287.终端设备100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
288.isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
289.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,终端设备100可以包括1个或n个摄像头193,n为大于1的正整数。
290.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。
291.视频编解码器用于对数字视频压缩或解压缩。终端设备100可以支持一种或多种视频编解码器。这样,终端设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg1,mpeg3,mpeg4等。
292.npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现终端设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
293.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展终端设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
294.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区
可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
295.终端设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。在一些可行的实施方式中,音频模块170可用于播放视频对应的声音。例如,显示屏194显示视频播放画面时,音频模块170输出视频播放的声音。
296.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。
297.扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。
298.受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。
299.麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
300.耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动终端设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,ctia)标准接口。
301.压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。陀螺仪传感器180b可以用于确定终端设备100的运动姿态。气压传感器180c用于测量气压。
302.加速度传感器180e可检测终端设备100在各个方向上(一般为三轴)加速度的大小。当终端设备100静止时可检测出重力的大小及方向。还可以用于识别终端设备姿态,应用于横竖屏切换,计步器等应用。
303.距离传感器180f,用于测量距离。
304.环境光传感器180l用于感知环境光亮度。
305.指纹传感器180h用于采集指纹。
306.温度传感器180j用于检测温度。
307.触摸传感器180k,也称“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于终端设备100的表面,与显示屏194所处的位置不同。
308.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端设备100可以接收按键输入,产生与终端设备100的用户设置以及功能控制有关的键信号输入。
309.马达191可以产生振动提示。
310.指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
311.sim卡接口195用于连接sim卡。
312.以上是对终端设备100的结构进行的描述,接下来对终端设备的软件结构进行说明。终端设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本技术实施例以分层架构的android系统为例,示例性说明终端设备100的软件结构。
313.图2是本技术实施例的终端设备的软件结构框图。
314.如图2所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。
315.如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。
316.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
317.如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
318.窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
319.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
320.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。界面内容可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
321.电话管理器用于提供终端设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
322.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
323.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。
324.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
325.核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
326.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
327.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库
(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
328.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。
329.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。
330.三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
331.2d图形引擎是2d绘图的绘图引擎。
332.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
333.为了便于理解,本技术以下实施例将以具有图1和图2所示结构的终端设备为例,结合附图和应用场景,对本技术实施例提供的一种二维码生成方法以及二维码识别方法进行具体阐述。
334.参照图3,图3为本技术实施例提供的一种二维码生成方法的实施例示意图,如图3示出的那样,本技术提供的二维码生成方法可以包括:
335.301、获取m种颜色以及每种颜色在目标颜色通道的特征值,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数。
336.应理解,步骤301的执行主体可以是终端设备或者是云侧的服务器。
337.本技术实施例中,二维码的种类可以包括但不限于pdf417,aztec,pdf 417二维条码,datamatrix二维条码,maxicode二维条码,code 49,code 16k,code one。
338.在一些场景中,为了使得二维码在视觉上具有一定的特点,例如可以具有一定的风格辨识度,可以生成在颜色上具有一定特点的二维码,例如,a企业的logo是红蓝色的,若可以生成包括红蓝两种色彩的二维码,则该二维码就具有了a企业的风格辨识度。
339.下面给出几种需要包括彩色颜色的二维码的场景的示意场景:
340.1、网址/链接二维码
341.例如,一些企业原创了一篇高质量的文章、制作了一段很有意思的视频、开发了一个很有趣的网站等,只要有对应的网址,都可以生成二维码,特别适合在朋友圈、官网、微信公众号等地方贴上二维码展示。如果是制作或分享的视频文件,可以自行先把视频上传至某视频网站或自己官网的服务器中,然后根据该视频的播放网址生成二维码,方便他人观看。为了能体现出该企业的特点,二维码可以具有和该企业的logo相似的颜色风格。
342.2、微信/微博/小程序二维码
343.企业在发布海报、举办活动等各种场景下,可以直接附上活动相关的微信公众号二维码、新浪微博二维码、微信小程序二维码,方便用户直接扫码关注,也能有效拉升流量。为了能体现出该企业的特点,二维码可以具有和该企业的logo相似的颜色风格。
344.3、企业员工的名片/电话/短信/邮箱二维码
345.除了个人使用之外,企业也可以为员工特别是重要员工量身制作一个专属的名片、电话、短信、邮箱二维码,既方便员工外出携带,也方便用户查看和保存。为了能体现出该企业的特点,该企业的名片/电话/短信/邮箱二维码可以具有和该企业的logo相似的颜色风格。
346.4、企业产品二维码
347.在企业发布产品、参加新品展示、举办集体大会或全员活动等场合下,可以将产品的品名、生产日期、产地、价格、图片、使用方法、价格等基础参数上传制作生成二维码,将活动或大会的一些必要信息上传制作生成二维码,用户直接扫码就可以了解,非常便捷。该企业产品二维码可以具有和该企业的logo相似的颜色风格。
348.5、无线保真(wireless fidelity,wifi)二维码
349.企业在办公室、会议室等公共的场所下,将提供的免费wifi的账号和密码上传并生成对应的二维码,置于桌子或墙壁之上,方便来访客户扫码连接,具备一定的隐蔽性又新意十足,也能很好的起到宣传品牌的效果。该企业wifi二维码可以具有和该企业的logo相似的颜色风格。
350.在另外的一些场景中,用户在使用终端设备时,有时会需要在终端设备上出示实时生成的二维码。
351.例如,在需要利用终端设备进行支付的场景中,用户可以在一些具备支付功能的应用程序上打开二维码支付界面,例如微信应用、支付宝应用的收付款二维码界面,再例如,华为钱包应用的二维码支付界面。该二维码支付界面种包括生成的支付二维码。另一设备可对该二维码支付界面中的支付二维码进行扫描,从而实现交易。另一设备可以是台式或者移动的扫码器设备,也可以是智能手机、平板电脑等电子设备。
352.又例如,在用户进行公交乘坐的场景中,用户可以在某些具备进行公交乘坐功能的应用程序上打开用于进行记录上车点以及下车点的二维码界面,并将二维码界面中的二维码放置在公交车上的二维码扫描设备的扫描区域中,从而实现上车点或下车点的记录。公交车上的二维码扫描设备可以是台式或者移动的扫码器设备,也可以是智能手机、平板电脑等电子设备。
353.又例如,某些应用程序可以生成包含用户身份信息的二维码,其他设备可以扫描该二维码从而进行用户身份信息的获取。例如,二维码可以包含用户的账号信息,其他设备扫描该二维码之后可以进行账号的好友添加操作、邀请该二维码的账户加入聊天组等等的操作。又例如,二维码可以包含店铺的链接,企业主页链接等等,其他设备扫描该二维码后可以打开相应的店铺或者企业主页等等。
354.本技术实施例中,为了能生成包含彩色颜色的二维码,可以首先获取到m种颜色,该m种颜色可以用于作为最终生成的二维码中码元的颜色选择。
355.应理解,颜色可分为非彩色与彩色两大类。非彩色可以指白色,黑色以及各种深浅不同的灰色。白色、灰色、黑色物体对光谱各波长的反射没有选择性,它们是中性色。彩色是指白黑系列以外的各种颜色,彩色对光谱各波长反射具有选择性所以它们在白光照射下出现彩色。颜色有三特性:亮度、色调和饱和度。非彩色只有亮度的差别,而没有色调和饱和度这两种特性。亮度(luminance)是指色光的明暗程度,它与色光所含的能量有关。对于彩色而言,彩色的亮度正比于它的光通量(光功率)。色调(hue)指颜色的类别,通常所说的红色,绿色,蓝色等,就是指色调。饱和度(saturation)是指色调深浅的程度。各种单色光饱和度最高,单色光中掺入的白光愈多,饱和度愈低,白光的饱和度等于零。
356.接下来描述,如何触发获取m种颜色。
357.在一种实现中,可以基于终端设备上具有生成二维码功能的应用程序或者某些具有生成二维码功能的网页上的选项来触发获取m种颜色。
358.以终端设备上的具有生成二维码功能的应用程序为例,参照图4,图4为一种终端设备的操作界面示意,如图4所示,终端设备可以包括用于生成二维码的应用程序(例如图4中示出的二维码生成器),用户可以点击二维码生成器,终端设备响应于用户的点击操作可以显示如图5所示的应用程序界面,其中,二维码生成器的应用程序界面可以包括字符串的输入框、自定义颜色控件、添加logo控件以及生成二维码控件,其中,用户可以在字符串的输入框中输入二维码需要携带的内容,例如可以是网页链接、音视频链接等等,这里并不限定。自定义颜色控件可以指向用户指定二维码中码元颜色的页面,用户可以点击自定义颜色控件,终端设备设备可以响应于用户的点击操作,显示一个用于获取颜色的页面(例如图11所示的界面,关于如何基于该界面获取m个颜色,将在后续实施例中描述,这里不再赘述)。相应的,终端设备可以基于用户输入的颜色来更改二维码的颜色。
359.应理解,图4和图5中示出的应用程序界面仅为一种示例,其界面上的控件排布、控件类型仅为一种示意,本技术并不限定。
360.在一种实现中,某些应用程序可以生成包含用户身份信息的二维码,其他设备可以扫描该二维码从而进行用户身份信息的获取。例如,二维码可以包含用户的账号信息,其他设备扫描该二维码之后可以进行账号的好友添加操作、邀请该二维码的账户加入聊天组等等的操作。又例如,二维码可以包含店铺的链接,企业主页链接等等,其他设备扫描该二维码后可以打开相应的店铺或者企业主页等等。
361.示例性的,参照图6,图6为一种终端设备的操作界面示意,如图6所示,终端设备可以包括用于生成包含用户身份信息的二维码的应用程序,用户可以点击生成二维码的控件,终端设备响应于用户的点击操作可以显示如图7所示的应用程序界面,图7所示的界面包括二维码显示区域以及二维码样式更改控件,用户可以点击该二维码样式更改控件,响应于用户的点击操作,终端设备可以显示如8所示的显示界面,显示界面可以包括自定义颜色控件、添加logo控件等,其中,自定义颜色控件可以指向用户指定二维码中码元颜色的页面,用户可以点击自定义颜色控件,终端设备设备可以响应于用户的点击操作,显示一个用于获取颜色的页面(例如图11所示的界面,关于如何基于该界面获取m个颜色,将在后续实施例中描述,这里不再赘述)。相应的,终端设备可以基于用户输入的颜色来更改二维码的颜色。
362.在另外的一些场景中,在需要利用终端设备进行支付的场景中,用户可以在一些具备支付功能的应用程序上打开二维码支付界面,例如微信应用、支付宝应用的收付款二维码界面,再例如,华为钱包应用的二维码支付界面。该二维码支付界面种包括生成的支付二维码。另一设备可对该二维码支付界面中的支付二维码进行扫描,从而实现交易。
363.示例性的,参照图9,图9为一种终端设备的操作界面示意,如图9所示,终端设备可以包括用于生成收付款二维码的应用程序,用户可以点击生成收付款二维码的控件,终端设备响应于用户的点击操作可以显示如图10所示的应用程序界面,图10所示的界面包括二维码显示区域以及二维码样式更改控件,用户可以点击该二维码样式更改控件,响应于用户的点击操作,终端设备可以显示如8所示的显示界面,显示界面可以包括自定义颜色控件、添加logo控件等,其中,自定义颜色控件可以指向用户指定二维码中码元颜色的页面,用户可以点击自定义颜色控件,终端设备设备可以响应于用户的点击操作,显示一个用于获取颜色的页面(例如图11所示的界面,关于如何基于该界面获取m个颜色,将在后续实施
例中描述,这里不再赘述)。相应的,终端设备可以基于用户输入的颜色来更改二维码的颜色。
364.应理解,图6至图11中示出的应用程序界面仅为一种示例,其界面上的控件排布、控件类型仅为一种示意,本技术并不限定。
365.接下来描述,如何获取m个颜色。
366.本技术实施例中,为了可以生成包括用户指定的几种颜色的二维码,或者生成用户指定的一类颜色风格的二维码,可以获取到用户输入的颜色,或者从由用户提供的目标对象中提取颜色。接下来,分别进行描述:
367.一、从目标对象中获取m个颜色。
368.以步骤301的执行主体为终端设备为例,具体的,在一种实现中,用户可以输入目标对象,相应的,终端设备可以获取目标对象,终端设备可以根据所述目标对象,获取所述目标对象中包括的m种颜色。
369.其中,终端设备可以基于目标对象自动获取所述目标对象中包括的m种颜色,例如终端设备可以获取目标对象,并获取所述目标对象中像素占比更大的m种颜色;或者,终端设备可以获取所述目标对象中像素占比更大的n种颜色,并从所述n种颜色中获取满足第一预设条件的m种颜色。接下来对这两种实现分别进行说明:
370.在一种可选的实现中,终端设备可以获取目标对象,并获取所述目标对象中像素占比更大的m种颜色。从目标对象中提取其中的颜色的算法,可以包括但不限于颜色量化法(color quantization)、聚类(clustering)和颜色建模等方法。以实施时采用聚类算法为例,可以使用k-means聚类算法,从输入的目标图片中提取主要颜色,按照各个主要颜色在目标对象中像素数目由多到少排序,进而得到目标对象中像素占比更大的m种颜色。
371.本技术实施例中,目标对象可以是包含企业logo的图像,而目标对象中像素占比更大的m种颜色,可以表征企业logo的主要颜色。
372.本技术实施例中,目标对象可以是包含商品图像的图像,而目标对象中像素占比更大的m种颜色,可以表征该商品的主要颜色。
373.在一种可选的实现中,可以获取所述目标对象中像素占比更大的n种颜色,所述n为大于所述m的正整数,并从所述n种颜色中获取满足第一预设条件的m种颜色,所述第一预设条件包括如下的至少一种:所述m种颜色中任意两种颜色在色度通道的特征值之间的差异大于第一预设值、所述m种颜色中每种颜色在饱和度通道的特征值大于第二预设值。
374.本技术实施例中,可以首先从目标对象中获取n个颜色,并从n个颜色中选较优的m个颜色,所谓较优,是指包括筛选后的m种颜色的二维码更加美观,具体的,若m种颜色中的至少两个是颜色比较相近的颜色,或者m种颜色中的至少一个是颜色是纯度较低的颜色,则基于m种颜色生成的二维码的美观性较差。
375.因此,可以从目标对象中获取n个颜色,并从n个颜色中选较优的m个颜色,具体的,可以从所述n种颜色中获取满足第一预设条件的m种颜色,所述第一预设条件包括如下的至少一种:所述m种颜色中任意两种颜色在色度通道的特征值之间的差异大于第一预设值、所述m种颜色中每种颜色在饱和度通道的特征值大于第二预设值。
376.应理解,第一预设值可以根据实际情况来设定,只要能表示将两种颜色在视觉上具有较好的区分度,本技术并不限定第一预设值的具体数值。
377.应理解,第二预设值可以根据实际情况来设定,只要能表示将颜色在视觉上具有较好的颜色纯度,本技术并不限定第二预设值的具体数值。
378.在一种实现中,可以从目标对象中获取n个颜色,并从n个颜色中选择任意两种颜色在色度通道的特征值之间的差异大于第一预设值的m个颜色。
379.在一种实现中,可以从目标对象中获取n个颜色,并从n个颜色中选择每种颜色在饱和度通道的特征值大于第二预设值的m个颜色。
380.在一种实现中,可以从目标对象中获取n个颜色,并从n个颜色中选择任意两种颜色在色度通道的特征值之间的差异大于第一预设值,且每种颜色在饱和度通道的特征值大于第二预设值的m个颜色。
381.在一种可选的实现中,只能从n种颜色中选取小于m个数量的颜色,也就是说,n种颜色中小于m种颜色满足第一预设条件,为了能获取到m种颜色,则可以从预设的颜色中选择至少一个颜色加入到选取的小于m个数量的颜色中,以获取m种颜色。
382.在一种实现中,预设的颜色与选取的小于m个数量的颜色组成的m种颜色满足上述实施例中的第一预设条件。
383.示例性的,以m等于4为例,首先将目标对象中像素占比更大的n种颜色中饱和度低于第二预设值的排除,且确定第一个满足要求的颜色为选择的第一个颜色,之后顺序比较,如果色度通道的特征值和已经选择的颜色在色度通道的特征值的差异大于第一预设值则保留,作为被选择的颜色。如果选择的颜色数量不够4,则可以从预设的默认颜色中选取加入。例如,如果只挑出一种颜色,则加入黑色和白色,同时再加入一种饱和度高于第二预设值且色度通道的特征值和已经选择的颜色在色度通道的特征值的差异大于第一预设值的颜色;如果只挑出两种颜色,则加入黑白;如果只挑出3种颜色,则加入黑。
384.此外,终端设备还可以结合用户的选择来从n种颜色中确定m种颜色。
385.在一种可能的实现中,终端设备可以获取所述目标对象中包括的n种颜色,所述n为大于m的正整数;显示所述n种颜色,并接收用户的第一指示,所述第一指示用于指示从所述n中颜色中选择所述m种颜色;响应于所述第一指示,以获取所述目标对象中包括的m种颜色。也就是说,终端设备可以从目标对象中获取n个候选的颜色以供用户来选择,用户可以从n个候选颜色中选择m个颜色,相应的,终端设备可以获取到用户选择的m种颜色。
386.在一种可能的实现中,还可以对根据目标对象获取到的颜色在亮度通道的特征值进行调整,以便所述m种待处理颜色中任意两种待处理颜色在亮度通道的特征值之间的差异大于预设值。具体的,终端设备可以获取目标对象,根据所述目标对象,获取所述目标对象中包括的m种待处理颜色,并调整所述m种待处理颜色在亮度通道的特征值,以便所述m种待处理颜色中任意两种待处理颜色在亮度通道的特征值之间的差异大于预设值,以获取所述m种颜色。
387.在一种场景中,扫码设备可能不兼容扫描彩色二维码,具体的,一些扫描设备只能获取到灰度图像,为了能使得这类扫码设备可以扫描出彩色二维码,需要使得二维码包括的颜色的灰度(也就是在亮度通道的特征值)之间区分开,更具体的,a颜色和b颜色是彩色,虽然a颜色和b颜色不同,但不兼容扫描彩色二维码的扫码设备扫描a颜色和b颜色后只能获取到a颜色和b颜色在亮度通道上的特征值,本实施例中,可以对根据目标对象获取到的颜色在亮度通道的特征值进行调整,以便所述m种待处理颜色中任意两种待处理颜色在亮度
通道的特征值之间的差异大于预设值,进而可以使得不兼容扫描彩色二维码的扫码设备扫描a颜色和b颜色之后可以确定a颜色和b颜色是不同的颜色,以及a颜色和b颜色在亮度通道上的特征值之间的大小关系。
388.应理解,预设值的大小可以根据实际情况设置,只要使得扫码设备可以准确区分出各个颜色之间在亮度通道上的特征值的大小关系,本技术实施例并不限定预设值的具体大小。
389.例如可以参照图11,图11中以m等于4为例示出了4种颜色在亮度通道上特征值之间的关系,其中,在亮度通道上特征值最大的颜色和在亮度通道上特征值第二大的颜色之间的灰度值差距为32,亮度通道上特征值第二大的颜色和在亮度通道上特征值第三大的颜色之间的灰度值差距为96,亮度通道上特征值第三大的颜色和在亮度通道上特征值最小的颜色之间的灰度值差距为32。
390.本技术实施例中,可以从所述n种颜色中获取满足第一预设条件的m种颜色,并对调整所述m种待处理颜色在亮度通道的特征值,以便所述m种待处理颜色中任意两种待处理颜色在亮度通道的特征值之间的差异大于预设值。
391.示例性的,表1示出了终端设备根据目标图片获取到的4种待处理颜色,下一步进行各个待处理颜色在亮度通道上特征值的调整,进而得到表2中示出的调整后的颜色。
392.表1
393.rgb值54,138,248254,211,5035,24,21249,245,236
394.表2
395.rgb值4,61,136254,222,10635,24,21249,245,236
396.二、获取到用户输入的m个颜色。
397.本技术实施例中,终端设备可以接收用户输入的m种颜色。
398.具体的,终端设备可以显示第二界面,所述第二界面包括第一输入框,所述第一输入框用于指示用户输入用于指示颜色的颜色信息,接收用户在所述第一输入框中输入的m个颜色信息,根据所述m个颜色信息,获取所述m种颜色。其中,颜色信息可以为颜色的rgb值或者其他可以指示颜色的信息,本实施例并不限定。
399.接下来从用户与终端设备的交互角度来描述终端设备如何获取到m种颜色。
400.本技术实施例中,若终端设备基于用户输入的目标对象来获取m种颜色,则可以显示第一界面,所述第一界面包括第一控件,所述第一控件用于指示用户输入图像,之后终端设备可以接收用户基于所述第一控件输入的所述目标对象。
401.具体的,可以参照图12,终端设备可以显示对二维码进行颜色设置的界面(即上述
实施例中的第一界面),该界面可以包括输入图片的控件(即上述实施例中的第一控件),用户可以通过点击输入图片的控件,并输入目标对象,之后终端设备可以接收用户基于所述第一控件输入的所述目标对象。
402.此外,本技术实施例中,终端设备可以从目标对象中获取n个候选的颜色以供用户来选择,用户可以从n个候选颜色中选择m个颜色,相应的,终端设备可以获取到用户选择的m种颜色。参照图13,终端设备可以显示对二维码进行颜色选择的界面,颜色选择的界面可以显示从目标对象中获取的5个候选的颜色,用户可以从5个候选颜色中选择m个颜色,相应的,终端设备可以获取到用户选择的m种颜色.
403.此外,本技术实施例中,终端设备还可以基于用户输入的颜色信息来获取m种颜色,参照图12,终端设备可以显示对二维码进行颜色设置的界面,该界面可以包括输入图片的控件以及多个输入框,其中,用户可以在每个输入框中输入一种颜色信息,例如图12中示出的界面中,用户可以在每个输入框中输入一种颜色的rgb值。
404.应理解,以上以终端设备获取到m种颜色为例进行了说明,在实际应用中还可以为云侧的服务器获取到m种颜色,例如,某些网页可以具有生成二维码的功能,用户可以在网页上输入二维码的颜色,或者输入目标对象,服务器可以接收到用户输入的颜色或者目标对象,并基于用户输入的颜色或者目标对象获取m种颜色。
405.示例性的,可以参照图15,图15为一种网页界面的示意,如图15所示,具有生成二维码的功能的网页上可以包括自定义颜色的选项,用户可以点击该自定义颜色的选项以输入二维码的颜色,或者输入目标对象,具体的,可以参照上述实施例中图12以及图13对应的实施例的描述,相似之处不再赘述。
406.302、根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息。
407.本技术实施例中,在获取到m种颜色之后,需要基于m种颜色确定码本,所谓码本就是本实施例中的目标映射关系,目标映射关系可以包括m种颜色中每种颜色所对应的码元信息,其中,码元信息可以是二进制信息。二维码由多个码元组成,每个码元可以携带一定的信息,在生成二维码的过程中,需要将字符串(生成的二维码中需要携带的信息)转换为二进制码流,并将码流且分为多个子码流(或者称之为码元信息),每个子码流对应于二维码中的一个码元。码元为二维码组成的基本单位,每个码元为二维码上的一个区域,且每个码元携带了一定的码元信息,扫码设备扫描二维码后,可以解析二维码包括的码元以得到码元对应的码元信息,并基于获取的各个码元的码元信息得到二维码所携带的内容。
408.在现有的生成彩色二维码的实现中,每个颜色对应于固定的码元信息,例如颜色1对应于码元信息(0,1),颜色2对应于码元信息(1,1),这个对应关系是固定的,在扫码的时候,扫码设备可以确定二维码中颜色1的码元对应的是码元信息(0,1),颜色2的码元对应的是码元信息(1,1)。这种实现使得用户不能自定义颜色,因为扫码端无法确定扫到的二维码中各个码元的颜色对应于什么码元信息。
409.本技术实施例中,根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,也就是说,在生成二维码的时候,不是将各个颜色对应于固定的码元信息,而是基于各个颜色之间在目标颜色通道的特征值之间的相对大小关系,来生成各个颜色与码元信息的对应关系。例如,m种颜色包括颜色1和颜色2,现有的实现中,颜色1一定对
应于码元信息1,颜色2一定对应于码元信息2,本技术实施例中,颜色在目标颜色通道的特征值较大的则对应于码元信息1,较小的对应于码元信息2,若颜色1在目标颜色通道的特征值大于颜色2在目标颜色通道的特征值,则颜色1对应于码元信息1,颜色2对应于码元信息2,若颜色1在目标颜色通道的特征值小于颜色2在目标颜色通道的特征值,则颜色1对应于码元信息2,颜色2对应于码元信息1。
410.通过这种方式,基于颜色之间的特征值大小关系,来确定颜色和码元信息的对应关系,作为扫码侧,即使二维码中的颜色都是用户自定义指定的,扫码侧也可以基于扫描到的二维码中码元的颜色之间的特征值大小关系还原出生成二维码时,所采用的颜色和码元信息的对应关系。
411.接下来描述,如何根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系。
412.本技术实施例中,目标颜色通道可以包括色彩空间中的至少一个颜色通道,其中,色彩空间可以但不限于是rgb空间、yuv空间、hsl空间以及hsv空间。
413.其中,rgb(red,green,blue)空间最常用的用途是显示器系统,彩色阴极射线管,彩色光栅图形的显示器都使用r、g、b数值来驱动r、g、b电子枪发射电子,并分别激发荧光屏上的r、g、b三种颜色的荧光粉发出不同亮度的光线,并通过相加混合产生各种颜色;扫描仪也是通过吸收原稿经反射或透射而发送来的光线中的r、g、b成分,并用它来表示原稿的颜色。rgb色彩空间称为与设备相关的色彩空间,因为不同的扫描仪扫描同一幅图像,会得到不同色彩的图像数据。
414.其中,hsv(hue,saturation,value)空间的模型对应于圆柱坐标系中的一个圆锥形子集,圆锥的顶面对应于v=1.它包含rgb模型中的r=1,g=1,b=1的三个面,所代表的颜色较亮。色彩h由绕v轴的旋转角给定。红色对应于角度0
°
,绿色对应于角度120
°
,蓝色对应于角度240
°
。在hsv颜色模型中,每一种颜色和它的补色相差180
°
。饱和度s取值从0到1,所以圆锥顶面的半径为1。hsv颜色模型所代表的颜色域是cie色度图的一个子集,这个模型中饱和度为百分之百的颜色,其纯度一般小于百分之百。在圆锥的顶点(即原点)处,v=0,h和s无定义,代表黑色。圆锥的顶面中心处s=0,v=1,h无定义,代表白色。从该点到原点代表亮度渐暗的灰色,即具有不同灰度的灰色。对于这些点,s=0,h的值无定义。可以说,hsv模型中的v轴对应于rgb颜色空间中的主对角线。在圆锥顶面的圆周上的颜色,v=1,s=1,这种颜色是纯色。
415.其中,针对于yuv空间,在现代彩色电视系统中,通常采用三管彩色摄像机或彩色ccd(点耦合器件)摄像机,它把摄得的彩色图像信号,经分色、分别放大校正得到rgb,再经过矩阵变换电路得到亮度信号y和两个色差信号r-y、b-y,最后发送端将亮度和色差三个信号分别进行编码,用同一信道发送出去。这就是常用的yuv色彩空间。采用yuv色彩空间的重要性是它的亮度信号y和色度信号u、v是分离的。如果只有y信号分量而没有u、v分量,那么这样表示的图就是黑白灰度图。彩色电视采用yuv空间正是为了用亮度信号y解决彩色电视机与黑白电视机的兼容问题,使黑白电视机也能接收彩色信号。
416.示例性的,目标颜色通道可以是hsv空间中的色度通道(hue)以及亮度通道(value),可以将m种颜色中每一种颜色在hsv空间中的亮度通道的特征值进行大小比较,并基于m种颜色在亮度通道的特征值之间的大小关系,确定目标映射关系。
417.本技术实施例中,码元信息是固定的,例如2bit的码元信息包括(0,0)、(0,1)、(1,0)、(1,1),而将m种颜色中每个颜色映射到一种码元信息的方式是很灵活的,若目标颜色通道为一种颜色通道,则可以将m种颜色中在目标颜色通道的特征值最小的颜色的码元信息设置为(1,1),将m种颜色中在目标颜色通道的特征值最大的颜色的码元信息设置为(0,0),或者其他任一种规则。只要可以在基于m种颜色在亮度通道的特征值之间的大小关系确定的目标映射关系中,每一种颜色唯一对应于一个码元信息,且每个码元信息唯一对应于一种颜色,本技术并不限定具体的特征值大小比较规则。
418.以m等于4,码元信息为2bit为例,可以将m种颜色中在hsv空间中的亮度通道的特征值最小的颜色的码元信息设置为(1,1),将m种颜色中在hsv空间中的亮度通道的特征值最大的颜色的码元信息设置为(0,0),另外两种颜色,在hsv空间中的亮度通道的特征值低的为(1,x),在hsv空间中的亮度通道的特征值高的为(0,1-x),其中如果在hsv空间中的亮度通道的特征值低颜色在色度通道的特征值大则x取0,反之取1。于是可以得到表3中的码本(或者称之为目标映射关系):
419.表3
420.颜色(rgb值)码元信息4,61,136(1,0)254,222,106(0,1)35,24,21(1,1)249,245,236(0,0)
421.303、获取目标链接,并生成所述目标链接对应的码流,所述码流包括多个码元信息生成所述目标链接对应的码流,所述码流包括多个码元信息。
422.本技术实施例中,可以获取到目标链接,目标链接为二维码中应该携带的信息,为了能使得二维码可以表示该目标链接,则需要将目标链接进行编码,以得到二进制码流,具体的,可以获取目标链接,并生成目标链接对应的码流。
423.本技术实施例中,待生成的二维码中包括的每个码元可以表示码流中的一部分信息(每个码元表示一个码元信息),进而待生成的二维码中包括的多个码元可以表示整个码流。
424.在一种可能的实现中,所述目标链接包括第一字符和第二字符,在生成码流的过程中,可以基于第一编码规则对所述第一字符进行编码,得到第一子码流;基于第二编码规则对所述第二字符进行编码,得到第二子码流,所述第一编码规则和所述第二编码规则不同。
425.在现有的实现中,例如qr编码中,针对于每个字符串都采用同样的编码规则,例如,基于qr编码对字符串:abcd123456abcdefghijklmn进行编码时,在采用8位字节模式中,模式指示符4bit,字符计数指示符8bit,数据8*24=192bit,共需要204bit。
426.示例性的,第一编码规则和第二编码规则可以是如下编码规则中的一种:
427.base10:用于编码10个数字字符,具体的编码规则可以参照图16所示,图16示出了一种编码规则示意。
428.base32_l:用于编码26个小写字母,空格,5个跳转符,具体的编码规则可以参照图17所示,图17示出了一种编码规则示意。
429.base32_u:用于编码26个大写字母,空格,5个跳转符,具体的编码规则可以参照图18所示,图18示出了一种编码规则示意。
430.base45:用于编码10个数字字符,26个大写字母a~z,以及9个符号,具体的编码规则可以参照图19所示,图19示出了一种编码规则示意。
431.base90:用于编码10个数字字符,52个大小写字母,23个特殊字符sp!”#$%&’()*+,-./:;=?@_~,5个跳转符,具体的编码规则可以参照图20所示,图20示出了一种编码规则示意。
432.base108:用于编码ascii可打印95个字符,8个转义字符,5个跳转符,具体的编码规则可以参照图21所示,图21示出了一种编码规则示意。
433.本技术实施例中,针对于不同的字符串可以采用不同的编码规则,可以降低整体所需的bit数,在一种可能的实现中,所述第一字符和所述第二字符的大小相同,所述第一子码流的比特数与所述第二子码流的比特数的大小不同。例如在base32_l中,编码单位字符所需的比特数为5,在base10中,编码单位字符所需的比特数为4,以编码字符串abcd123456abcdefghijklmn为例,前4个小写字母用base32_l,后面的6个数字用base10,剩余的小写字母再跳转至base32_l,则所需的比特数为4+5*4+5+10+10*2+4+5*14=133bit,小于采用qr编码所需的201bit。
434.本技术实施例中,为了实现编码规则之间的跳转,可以在编码时增加跳转符,具体的,在一种可能的实现中,所述第一字符和所述第二字符为所述目标链接中相邻的字符,所述基于第一编码规则对所述第一字符进行编码,得到第一子码流之后,所述基于第二编码规则对所述第二字符进行编码之前,还可以获取跳转指示符,所述跳转指示符用于指示通过所述第二编码规则进行字符编码;基于第一编码规则对所述跳转指示符进行编码,得到第三子码流;相应的,就可以根据所述跳转指示符,基于所述第二编码规则对所述第二字符进行编码。
435.以图22a为例,其中通过查看图17,可知(2,15,11,25,17,6)表示的是具体字符,遇到数字27时,通过查看图17可知其是个用于指示跳转至base32_u的跳转指示符,跳转至base32_u,代表接下来的编码要按照图18的编码规则进行。
436.304、根据所述目标映射关系,确定所述码流中每个码元信息对应的颜色,并根据所述码流中每个码元信息对应的颜色,生成目标二维码。
437.本技术实施例中,在获取到码流之后,可以基于步骤302确定的目标映射关系来确定码流包括的每个码元信息所对应的颜色,并将具有对应颜色的码元进行组合以生成目标二维码。
438.示例性的,以码流为“01010011”为例,将码流“01010011”等分2份,得到0101;0011,每一列组成一个码元信息,即得到四个码元信息(0,0)、(1,0)、(0,1)、(1,1)。之后可以在目标映射关系中确定出各个码元信息所对应的颜色。
439.应理解,步骤301至步骤304中各个步骤的执行主体可以是终端设备也可以是云侧的服务器,本技术并不限定。
440.本技术实施例提供了一种二维码生成方法,包括:获取m种颜色以及每种颜色在目标颜色通道的特征值,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关
系包括所述m种颜色中每种颜色所对应的码元信息;获取目标链接,并生成所述目标链接对应的码流,所述码流包括多个码元信息;根据所述目标映射关系,确定所述码流中每个码元信息对应的颜色,并根据所述码流中每个码元信息对应的颜色,生成目标二维码。通过上述方式,根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,也就是说,在生成二维码的时候,不是将各个颜色对应于固定的码元信息,而是基于各个颜色之间在目标颜色通道的特征值之间的相对大小关系,来生成各个颜色与码元信息的对应关系。例如,m种颜色包括颜色1和颜色2,现有的实现中,颜色1一定对应于码元信息1,颜色2一定对应于码元信息2,本技术实施例中,颜色在目标颜色通道的特征值较大的则对应于码元信息1,较小的对应于码元信息2,若颜色1在目标颜色通道的特征值大于颜色2在目标颜色通道的特征值,则颜色1对应于码元信息1,颜色2对应于码元信息2,若颜色1在目标颜色通道的特征值小于颜色2在目标颜色通道的特征值,则颜色1对应于码元信息2,颜色2对应于码元信息1。通过这种方式,基于颜色之间的特征值大小关系,来确定颜色和码元信息的对应关系,作为扫码侧,即使二维码中的颜色都是用户自定义指定的,扫码侧也可以基于扫描到的二维码中码元的颜色之间的特征值大小关系还原出生成二维码时,所采用的颜色和码元信息的对应关系,进而准确识别出二维码中的内容。
441.参照图22b,图22b为本技术实施例提供的一种二维码生成方法的流程示意,所述方法包括:
442.2101、获取目标对象以及目标链接。
443.在一种可能的实现中,所述目标对象为用于指示目标企业或目标商品的标识,所述目标二维码包括包括位于中部的图像区域和围绕所述图像区域的编码区域,所述编码区域包括所述多个码元,所述图像区域包括所述目标对象。
444.以步骤301的执行主体为终端设备为例,具体的,在一种实现中,用户可以输入目标对象,相应的,终端设备可以获取目标对象,终端设备可以根据所述目标对象,获取所述目标对象中包括的m种颜色。
445.其中,终端设备可以基于目标对象自动获取所述目标对象中包括的m种颜色,例如终端设备可以获取目标对象,并获取所述目标对象中像素占比更大的m种颜色;或者,终端设备可以获取所述目标对象中像素占比更大的n种颜色,并从所述n种颜色中获取满足第一预设条件的m种颜色。接下来对这两种实现分别进行说明:
446.在一种可选的实现中,终端设备可以获取目标对象,并获取所述目标对象中像素占比更大的m种颜色。从目标对象中提取其中的颜色的算法,可以包括但不限于颜色量化法(color quantization)、聚类(clustering)和颜色建模等方法。以实施时采用聚类算法为例,可以使用k-means聚类算法,从输入的目标图片中提取主要颜色,按照各个主要颜色在目标对象中像素数目由多到少排序,进而得到目标对象中像素占比更大的m种颜色。
447.本技术实施例中,目标对象可以是包含企业logo的图像,而目标对象中像素占比更大的m种颜色,可以表征企业logo的主要颜色。
448.本技术实施例中,目标对象可以是包含商品图像的图像,而目标对象中像素占比更大的m种颜色,可以表征该商品的主要颜色。
449.在一种可选的实现中,可以获取所述目标对象中像素占比更大的n种颜色,所述n为大于所述m的正整数,并从所述n种颜色中获取满足第一预设条件的m种颜色,所述第一预
设条件包括如下的至少一种:所述m种颜色中任意两种颜色在色度通道的特征值之间的差异大于第一预设值、所述m种颜色中每种颜色在饱和度通道的特征值大于第二预设值。
450.本技术实施例中,可以首先从目标对象中获取n个颜色,并从n个颜色中选较优的m个颜色,所谓较优,是指包括筛选后的m种颜色的二维码更加美观,具体的,若m种颜色中的至少两个是颜色比较相近的颜色,或者m种颜色中的至少一个是颜色是纯度较低的颜色,则基于m种颜色生成的二维码的美观性较差。
451.因此,可以从目标对象中获取n个颜色,并从n个颜色中选较优的m个颜色,具体的,可以从所述n种颜色中获取满足第一预设条件的m种颜色,所述第一预设条件包括如下的至少一种:所述m种颜色中任意两种颜色在色度通道的特征值之间的差异大于第一预设值、所述m种颜色中每种颜色在饱和度通道的特征值大于第二预设值。
452.应理解,第一预设值可以根据实际情况来设定,只要能表示将两种颜色在视觉上具有较好的区分度,本技术并不限定第一预设值的具体数值。
453.应理解,第二预设值可以根据实际情况来设定,只要能表示将颜色在视觉上具有较好的颜色纯度,本技术并不限定第二预设值的具体数值。
454.关于如何获取目标图像可以参照步骤301中与获取目标对象相关的描述,这里不再赘述。
455.关于如何获取目标链接可以参照步骤303中与获取目标链接相关的描述,这里不再赘述。
456.2102、根据所述目标对象,获取所述目标对象中包括的m种颜色,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数。
457.关于如何根据所述目标对象,获取所述目标对象中包括的m种颜色可以参照步骤301中与获取所述目标对象中包括的m种颜色相关的描述,这里不再赘述。
458.2103、根据所述m种颜色和所述目标链接,生成目标二维码,所述目标二维码的颜色风格与所述目标对象的颜色风格一致,其中,所述目标二维码包括多个码元,所述多个码元的颜色包括所述m种颜色,且每个码元的颜色对应于一个码元信息,所述多个码元的颜色对应的多个码元信息用于表征所述目标链接。
459.其中,所谓颜色风格一致是指,目标二维码包括的颜色与目标对象中的主要颜色一致,例如,目标对象为a企业的logo,a企业的logo是红蓝色的,则目标二维码可以包括红蓝色,进而,该目标二维码就具有了a企业的颜色风格辨识度。
460.关于如何根据所述m种颜色和所述目标链接,生成目标二维码可以参照步骤304的描述,这里不再赘述。
461.在一种可能的实现中,所述目标对象为用于指示目标企业的标识,所述目标二维码包括包括位于中部的图像区域和围绕所述图像区域的编码区域,所述编码区域包括所述多个码元,所述图像区域包括所述目标对象。
462.在一种可能的实现中,可以获取所述目标对象中像素占比更大的m种颜色。
463.在一种可能的实现中,所述根据所述目标对象,获取所述目标对象中包括的m种颜色,包括:
464.获取所述目标对象中包括的n种颜色,所述n为大于m的正整数;
465.显示目标界面,所述目标界面包括n个颜色选项,每个颜色选项用于指示所述n种
颜色中的一种;
466.接收用户针对于所述n个颜色选项中m个颜色选项的选择操作;
467.响应于所述选择操作,以获取所述m个颜色选项指示的m种颜色。
468.本技术实施例中,若终端设备基于用户输入的目标对象来获取m种颜色,则可以显示第一界面,所述第一界面包括第一控件,所述第一控件用于指示用户输入图像,之后终端设备可以接收用户基于所述第一控件输入的所述目标对象。
469.具体的,可以参照图12,终端设备可以显示对二维码进行颜色设置的界面(即上述实施例中的第一界面),该界面可以包括输入图片的控件(即上述实施例中的第一控件),用户可以通过点击输入图片的控件,并输入目标对象,之后终端设备可以接收用户基于所述第一控件输入的所述目标对象。
470.此外,本技术实施例中,终端设备可以从目标对象中获取n个候选的颜色以供用户来选择,用户可以从n个候选颜色中选择m个颜色,相应的,终端设备可以获取到用户选择的m种颜色。参照图13,终端设备可以显示对二维码进行颜色选择的界面,颜色选择的界面可以显示从目标对象中获取的5个候选的颜色,用户可以从5个候选颜色中选择m个颜色,相应的,终端设备可以获取到用户选择的m种颜色.
471.在一种可能的实现中,可以显示第一界面,所述第一界面包括第一控件,所述第一控件用于指示用户输入图像;
472.接收用户基于所述第一控件输入的所述目标对象。
473.在一种可能的实现中,可以获取所述m种颜色中每种颜色在目标颜色通道的特征值,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;
474.根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息;
475.生成所述目标链接对应的码流,所述码流包括多个码元信息;
476.相应的,所述根据所述m种颜色和所述目标链接,生成目标二维码,包括:
477.根据所述目标映射关系,确定所述码流中每个码元信息对应的颜色,并根据所述码流中每个码元信息对应的颜色,生成目标二维码。
478.在一种可能的实现中,所述根据所述目标对象,获取所述目标对象中包括的m种颜色,包括:
479.获取所述目标图像中像素占比更大的n种颜色,所述n为大于所述m的正整数;
480.从所述n种颜色中获取满足第一预设条件的m种颜色,所述第一预设条件包括如下的至少一种:所述m种颜色中任意两种颜色在色度通道的特征值之间的差异大于第一预设值、所述m种颜色中每种颜色在饱和度通道的特征值大于第二预设值。
481.在一种可能的实现中,所述目标链接用于触发对应的功能;
482.其中所述功能至少包括如下的一种:
483.跳转至对应的网页;
484.打开对应的应用程序中的目标功能;
485.显示对应的字符串;
486.显示对应的视频;
487.或,播放对应的音频。
488.本技术实施例提供了一种二维码生成方法,包括:获取目标对象以及目标链接;根据所述目标对象,获取所述目标对象中包括的m种颜色,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;根据所述m种颜色和所述目标链接,生成目标二维码,其中,所述目标二维码的颜色风格与所述目标对象的颜色风格一致,所述目标二维码包括多个码元,所述多个码元的颜色包括所述m种颜色,且每个码元的颜色对应于一个码元信息,所述多个码元的颜色对应的多个码元信息用于表征所述目标链接。本技术基于目标对象中包括的m种颜色,来生成具有和目标对象的颜色风格一致的目标二维码,实现了二维码的颜色自定义。
489.参照图22c,图22c为本技术实施例提供的一种二维码生成方法的流程示意,所述方法包括:
490.2201、接收用户输入的m种颜色以及获取目标链接,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;
491.本技术实施例中,终端设备可以基于用户输入的颜色信息来获取m种颜色,参照图12,终端设备可以显示对二维码进行颜色设置的界面,该界面可以包括输入图片的控件以及多个输入框,其中,用户可以在每个输入框中输入一种颜色信息,例如图12中示出的界面中,用户可以在每个输入框中输入一种颜色的rgb值。
492.关于更多如何接收用户输入的m种颜色可以参照步骤301中与接收用户输入的m种颜色相关的描述,这里不再赘述。
493.关于如何获取目标链接可以参照步骤301中与获取目标链接相关的描述,这里不再赘述。
494.2202、根据所述m种颜色和所述目标链接,生成目标二维码,其中,所述目标二维码包括多个码元,所述多个码元的颜色包括所述m种颜色,且每个码元的颜色对应于一个码元信息,所述多个码元的颜色对应的多个码元信息用于表征所述目标链接。
495.关于如何根据所述m种颜色和所述目标链接,生成目标二维码可以参照步骤304的描述,这里不再赘述。
496.在一种可能的实现中,所述接收用户输入的m种颜色,包括:显示第二界面,所述第二界面包括第一输入框,所述第一输入框用于指示用户输入用于指示颜色的颜色信息;接收用户在所述第一输入框中输入的m个颜色信息;根据所述m个颜色信息,获取所述m种颜色。
497.在一种可能的实现中,所述方法还包括:获取所述m种颜色中每种颜色在目标颜色通道的特征值,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息;生成所述目标链接对应的码流,所述码流包括多个码元信息;相应的,所述根据所述m种颜色和所述目标链接,生成目标二维码,包括:根据所述目标映射关系,确定所述码流中每个码元信息对应的颜色,并根据所述码流中每个码元信息对应的颜色,生成目标二维码。
498.在一种可能的实现中,所述目标链接用于触发对应的功能;
499.其中所述功能至少包括如下的一种:
500.跳转至对应的网页;
501.打开对应的应用程序中的目标功能;
502.显示对应的字符串;
503.显示对应的视频;
504.或,播放对应的音频。
505.生成所述目标链接对应的码流,所述码流包括多个码元信息。
506.本技术实施例提供了一种二维码生成方法,包括:接收用户输入的m种颜色以及获取目标链接,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;根据所述m种颜色和所述目标链接,生成目标二维码,其中,所述目标二维码包括多个码元,所述多个码元的颜色包括所述m种颜色,且每个码元的颜色对应于一个码元信息,所述多个码元的颜色对应的多个码元信息用于表征所述目标链接。本技术基于用户输入的m种颜色,来生成包括m种颜色的目标二维码,实现了二维码的颜色自定义。
507.参照图23,图23为本技术实施例提供的一种二维码识别方法的流程示意,如图23所示,本技术实施例提供的二维码识别方法包括:
508.2301、获取目标图像,所述目标图像包括目标二维码,所述目标二维码包括多个码元。
509.本技术实施例中,终端设备可以获取包括目标二维码的目标图像。
510.接下来描述终端设备如何获取目标图像。
511.一、终端设备可以通过自身携带的摄像头拍摄获取到目标图像。
512.在一种实施例中,用户可以打开某些应用程序上的条码识别功能,并选择条码扫码,该功能会调用终端设备上的摄像头,进而,用户可以通过终端设备的摄像头拍摄某一区域,该区域设置有目标二维码,进而使得终端设备可以获取包括目标二维码的目标图像。
513.参照图24,图24为本技术实施例提供的一种场景示意,如图24中示出的那样,用户可以使用终端设备401的摄像头对设置有目标二维码的区域402进行拍摄,相应的,终端设备401可以获取到包括目标二维码403的目标图像。
514.在一种实施例中,用户可以打开某些应用程序上的条码识别功能,并选择条码扫码,该功能会调用终端设备的外接摄像头,该外接摄像头与终端设备连接,进而,用户可以通过外接摄像头拍摄某一区域,该区域设置有多个条码,进而使得终端设备可以获取包括目标二维码的目标图像。
515.二、终端设备可以在本地相册或者云端相册中获取一张包括目标二维码的目标图像。
516.在一种实施例中,用户可以打开某些应用程序上的条码识别功能,并选择从本地相册或云端相册中选择图像,该功能会打开终端设备上的本地相册或云端相册,用户可以在终端设备上的本地相册或云端相册中选择一幅要进行条码识别的目标图像,该目标图像可以包括目标二维码,进而,终端设备可以在本地相册或者云端相册中获取一张包括目标二维码的目标图像。
517.本技术实施例中,目标二维码的种类可以包括但不限于pdf417,aztec,pdf 417二维条码,datamatrix二维条码,maxicode二维条码,code 49,code 16k,code one。
518.2302、获取所述多个码元包括的m种颜色以及每种颜色在目标颜色通道的特征值。
519.本技术实施例中,在获取到目标图像之后,可以获取所述多个码元包括的m种颜色
以及每种颜色在目标颜色通道的特征值。
520.其中,在目标二维码的识别过程中,需要首先识别出目标二维码由哪几种颜色组成,由于扫码设备获取的目标图像会出现由于偏光或者其他原因导致的颜色识别出现误差,因此,扫码设备获取到的m种颜色为目标二维码近似包括的颜色。同时由于原本具有相同颜色的码元,由于偏光其其他原因,会使得扫码设备针对于具有相同颜色的码元的颜色识别结果是不同的,因此,在一种实现中,扫码设备可以获取所述多个码元中各个码元的颜色,并基于聚类算法,获取所述多个码元包括的m种颜色,其中,所述m种颜色中的每个颜色为聚类算法得到的一个聚类中心。也就是说,m种颜色为目标二维码包括的m种主要颜色。
521.应理解,本实施例中的聚类算法可以是k-means(k均值)聚类、均值漂移聚类、基于密度的聚类方法(dbscan)、用高斯混合模型(gmm)的最大期望(em)聚类、凝聚层次聚类等等,本技术并不限定。
522.在一种可能的实现中,所述目标图像为灰度图像,所述目标颜色通道为亮度通道。
523.本技术实施例中,扫码设备可能不兼容扫描彩色二维码,具体的,一些扫描设备只能获取到灰度图像,为了能使得这类扫码设备可以扫描出彩色二维码,在生成目标二维码时,需要使得二维码包括的颜色的灰度(也就是在亮度通道的特征值)之间区分开,更具体的,a颜色和b颜色是彩色,虽然a颜色和b颜色不同,但不兼容扫描彩色二维码的扫码设备扫描a颜色和b颜色后只能获取到a颜色和b颜色在亮度通道上的特征值,本实施例中,可以对根据目标图像获取到的颜色在亮度通道的特征值进行调整,以便所述m种待处理颜色中任意两种待处理颜色在亮度通道的特征值之间的差异大于预设值,进而可以使得不兼容扫描彩色二维码的扫码设备扫描a颜色和b颜色之后可以确定a颜色和b颜色是不同的颜色,以及a颜色和b颜色在亮度通道上的特征值之间的大小关系。并基于a颜色和b颜色在亮度通道上的特征值之间的大小关系恢复出码本。
524.2303、根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息。
525.本技术实施例中,在获取到目标图像之后,可以获取所述多个码元包括的m种颜色以及每种颜色在目标颜色通道的特征值,并根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息。
526.和图3对应的实施例中步骤302不同的是,本实施例中是基于扫描目标二维码的码元颜色,来恢复目标映射关系(步骤302中是基于获取的m种颜色来生成目标映射关系)。
527.本技术实施例中,在获取到多个码元包括的m种颜色之后,需要基于m种颜色恢复码本,所谓码本就是本实施例中的目标映射关系,目标映射关系可以包括m种颜色中每种颜色所对应的码元信息,其中,码元信息可以是二进制信息。二维码由多个码元组成,每个码元可以携带一定的信息,在生成二维码的过程中,需要将字符串(生成的二维码中需要携带的信息)转换为二进制码流,并将码流且分为多个子码流(或者称之为码元信息),每个子码流对应于二维码中的一个码元。码元为二维码组成的基本单位,每个码元为二维码上的一个区域,且每个码元携带了一定的码元信息,扫码设备扫描二维码后,可以解析二维码包括的码元以得到码元对应的码元信息,并基于获取的各个码元的码元信息得到二维码所携带的内容。
528.本技术实施例中,根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,也就是说,在识别二维码的时候,不是将各个颜色对应于固定的码元信息,而是基于各个颜色之间在目标颜色通道的特征值之间的相对大小关系,来确定各个颜色与码元信息的对应关系。例如,m种颜色包括颜色1和颜色2,现有的实现中,颜色1一定对应于码元信息1,颜色2一定对应于码元信息2,本技术实施例中,颜色在目标颜色通道的特征值较大的则对应于码元信息1,较小的对应于码元信息2,若颜色1在目标颜色通道的特征值大于颜色2在目标颜色通道的特征值,则颜色1对应于码元信息1,颜色2对应于码元信息2,若颜色1在目标颜色通道的特征值小于颜色2在目标颜色通道的特征值,则颜色1对应于码元信息2,颜色2对应于码元信息1。
529.通过这种方式,基于颜色之间的特征值大小关系,来确定颜色和码元信息的对应关系,作为扫码侧,即使二维码中的颜色都是用户自定义指定的,扫码侧也可以基于扫描到的二维码中码元的颜色之间的特征值大小关系还原出生成二维码时,所采用的颜色和码元信息的对应关系。
530.接下来描述,如何根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系。
531.本技术实施例中,目标颜色通道可以包括色彩空间中的至少一个颜色通道,其中,色彩空间可以但不限于是rgb空间、yuv空间、hsl空间以及hsv空间。
532.示例性的,目标颜色通道可以是hsv空间中的色度通道(hue)以及亮度通道(value),可以将m种颜色中每一种颜色在hsv空间中的亮度通道的特征值进行大小比较,并基于m种颜色在亮度通道的特征值之间的大小关系,确定目标映射关系。
533.本技术实施例中,码元信息是固定的,例如2bit的码元信息包括(0,0)、(0,1)、(1,0)、(1,1),而将m种颜色中每个颜色映射到一种码元信息的方式是很灵活的,若目标颜色通道为一种颜色通道,则可以将m种颜色中在目标颜色通道的特征值最小的颜色的码元信息设置为(1,1),将m种颜色中在目标颜色通道的特征值最大的颜色的码元信息设置为(0,0),或者其他任一种规则。只要可以在基于m种颜色在亮度通道的特征值之间的大小关系确定的目标映射关系中,每一种颜色唯一对应于一个码元信息,且每个码元信息唯一对应于一种颜色,只要在扫码设备所采用的确定目标映射关系的方法和生成目标二维码时所采用的方法一致,本技术并不限定具体的特征值大小比较规则。
534.示例性的,以m为4为例,将目标二维码包括的各个码元的颜色进行4类k-means聚类算法,会得到一组颜色的rgb值,例如可以如表4所示:
535.表4
536.rgb值x1x2x3x4
537.此时的x1,x2,x3,x4的rgb数值可能和生成时的不一样,因为有颜色偏差。恢复颜色码本是生成颜色码本的逆过程,根据获得的x1,x2,x3,x4进行计算,对x1,x2,x3,x4在目标颜色通道上的特征值之间的大小关系根据预设的相互关系规则恢复目标映射关系,例如
目标映射关系可以如表5所示:
538.表5
539.rgb值信息x1(1,0)x2(0,1)x3(1,1)x4(0,0)
540.2304、根据所述目标映射关系,确定所述多个码元中每个码元的颜色所对应的码元信息。
541.原本具有相同颜色的码元,由于偏光其其他原因,会使得扫码设备针对于具有相同颜色的码元的颜色识别结果是不同的,因此可以确定,并根据所述目标映射关系,确定所述每个码元的颜色与所述m种颜色中最相似的颜色所对应的码元信息。
542.示例性的,在确定所述每个码元的颜色与所述m种颜色中最相似的颜色时,设颜色量化步骤得到的rgb数值为x1-x4。若将白黄当成一类、蓝黑当成一类,使用x1-x4的数值进行lda求解,得到:
[0543][0544]
若将白蓝当成一类、黄黑当成一类,使用x1-x4的数值进行lda求解,得到:
[0545][0546]
最后可以得到多个码元中每个码元的颜色。
[0547]
本技术实施例中,在获取到每个码元的颜色之后,可以基于目标映射关系,确定所述多个码元中每个码元的颜色所对应的码元信息。关于码元信息的具体描述可以参照上述实施例中的描述,这里不再赘述。
[0548]
2305、根据所述多个码元中每个码元的颜色所对应的码元信息,对所述目标二维码进行译码。
[0549]
在一种可能的实现中,所述多个码元中每个码元的颜色所对应的码元信息用于组成码流,所述码流包括第一子码流以及第二子码流;基于第一译码规则对所述第一子码流进行译码,得到第一字符;基于第二译码规则对所述第二子码流进行译码,得到第二字符,所述第一译码规则和所述第二译码规则不同。
[0550]
在一种可能的实现中,所述第一字符和所述第二字符的大小相同,所述第一子码流的比特数与所述第二子码流的比特数的大小不同。
[0551]
在一种可能的实现中,所述码流还包括第三子码流,所述第一子码流与所述第三子码流相邻,所述第三子码流与所述第二子码流相邻,所述基于第一译码规则对所述第一子码流进行译码之后,所述基于第二译码规则对所述第二子码流进行译码之前,还可以基于所述第一译码规则对所述第三子码流进行译码,得到跳转指示符,所述跳转指示符用于指示通过所述第二译码规则进行字符译码;相应的,可以根据所述跳转指示符,基于所述第二译码规则对所述第二子码流进行译码。
[0552]
在一种可能的实现中,可以获取译码后得到的译码内容,其中所述译码内容包括字符串,所述译码内容用于触发对应的功能;
[0553]
其中所述功能至少包括如下的一种:
[0554]
跳转至对应的网页;
[0555]
打开对应的应用程序中的目标功能;
[0556]
显示对应的字符串;
[0557]
显示对应的视频;
[0558]
或,播放对应的音频。
[0559]
本技术实施例提供了一种一种二维码识别方法,所述方法包括:获取目标图像,所述目标图像包括目标二维码,所述目标二维码包括多个码元;获取所述多个码元包括的m种颜色以及每种颜色在目标颜色通道的特征值;根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息;根据所述目标映射关系,确定所述多个码元中每个码元的颜色所对应的码元信息;根据所述多个码元中每个码元的颜色所对应的码元信息,对所述目标二维码进行译码。通过这种方式,基于颜色之间的特征值大小关系,来确定颜色和码元信息的对应关系,作为扫码侧,即使二维码中的颜色都是用户自定义指定的,扫码侧也可以基于扫描到的二维码中码元的颜色之间的特征值大小关系还原出生成二维码时,所采用的颜色和码元信息的对应关系,进而准确识别出二维码中的内容。
[0560]
接下来以服务器为执行主体描述本技术中的二维码识别方法,参照图25,图25为本技术实施例提供的一种二维码识别方法的实施例示意,如图25示出的那样,本技术实施例提供的一种二维码识别方法包括:
[0561]
2501、服务器接收终端设备发送的目标图像,所述目标图像包括目标二维码,所述目标二维码包括多个码元;
[0562]
2502、服务器获取所述多个码元包括的m种颜色以及每种颜色在目标颜色通道的特征值;
[0563]
2503、服务器根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息;
[0564]
2504、服务器根据所述目标映射关系,确定所述多个码元中每个码元的颜色所对应的码元信息;
[0565]
2505、服务器根据所述多个码元中每个码元的颜色所对应的码元信息,对所述目标二维码进行译码。
[0566]
可选的,所述方法还包括:
[0567]
获取译码后得到的译码内容,其中所述译码内容包括字符串,所述译码内容用于触发对应的功能;
[0568]
其中所述功能至少包括如下的一种:
[0569]
跳转至对应的网页;
[0570]
打开对应的应用程序中的目标功能;
[0571]
显示对应的字符串;
[0572]
显示对应的视频;
[0573]
或,播放对应的音频。
[0574]
可选的,所述目标颜色通道包括如下的至少一种:红色通道、绿色通道、蓝色通道、色度通道、亮度通道、以及饱和度通道。
[0575]
可选的,所述目标图像为灰度图像,所述目标颜色通道为亮度通道。
[0576]
可选的,所述获取所述多个码元包括的m种颜色,包括:
[0577]
获取所述多个码元中各个码元的颜色,并基于聚类算法,获取所述多个码元包括的m种颜色,其中,所述m种颜色中的每个颜色为聚类算法得到的一个聚类中心;
[0578]
相应的,所述根据所述目标映射关系,确定所述多个码元中每个码元的颜色所对应的码元信息,包括:
[0579]
获取每个码元的颜色与所述m种颜色中最相似的颜色;
[0580]
根据所述目标映射关系,确定所述每个码元的颜色与所述m种颜色中最相似的颜色所对应的码元信息。
[0581]
可选的,所述多个码元中每个码元的颜色所对应的码元信息用于组成码流,所述码流包括第一子码流以及第二子码流;所述根据所述多个码元中每个码元的颜色所对应的码元信息,对所述目标二维码进行译码,包括:
[0582]
基于第一译码规则对所述第一子码流进行译码,得到第一字符;
[0583]
基于第二译码规则对所述第二子码流进行译码,得到第二字符,所述第一译码规则和所述第二译码规则不同。
[0584]
可选的,所述第一字符和所述第二字符的大小相同,所述第一子码流的比特数与所述第二子码流的比特数的大小不同。
[0585]
可选的,所述码流还包括第三子码流,所述第一子码流与所述第三子码流相邻,所述第三子码流与所述第二子码流相邻,所述基于第一译码规则对所述第一子码流进行译码之后,所述基于第二译码规则对所述第二子码流进行译码之前,所述方法还包括:
[0586]
基于所述第一译码规则对所述第三子码流进行译码,得到跳转指示符,所述跳转指示符用于指示通过所述第二译码规则进行字符译码;
[0587]
相应的,所述基于第二译码规则对所述第二子码流进行译码,包括:
[0588]
根据所述跳转指示符,基于所述第二译码规则对所述第二子码流进行译码。
[0589]
步骤2501至2505的描述可以参照上述实施例中的描述,这里不再赘述。
[0590]
本技术实施例还提供一种二维码生成装置,二维码生成装置可以为终端设备或者服务器,请参阅图26,图26为本技术实施例提供的二维码生成装置的一种结构示意图,二维码生成装置2600包括:
[0591]
获取模块2601,用于获取m种颜色以及每种颜色在目标颜色通道的特征值,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;
[0592]
获取模块2601的具体描述可以参照步骤301以及步骤303的描述,这里不再赘述。
[0593]
映射关系确定模块2602,用于根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息;
[0594]
映射关系确定模块2602的具体描述可以参照步骤302的描述,这里不再赘述。
[0595]
所述获取模块2601,
[0596]
用于获取目标链接,并生成所述目标链接对应的码流,所述码流包括多个码元信息;
[0597]
生成所述目标链接对应的码流,所述码流包括多个码元信息二维码生成模块2603,用于根据所述目标映射关系,确定所述码流中每个码元信息对应的颜色,并根据所述码流中每个码元信息对应的颜色,生成目标二维码。
[0598]
二维码生成模块2603的具体描述可以参照步骤304的描述,这里不再赘述。
[0599]
在一种可能的实现中,所述获取模块,用于:
[0600]
获取目标对象;
[0601]
根据所述目标对象,获取所述目标对象中包括的m种颜色。
[0602]
在一种可能的实现中,所述获取模块,用于:
[0603]
获取所述目标对象中像素占比更大的m种颜色。
[0604]
在一种可能的实现中,所述获取模块,用于:
[0605]
获取所述目标对象中像素占比更大的n种颜色,所述n为大于所述m的正整数;
[0606]
从所述n种颜色中获取满足第一预设条件的m种颜色,所述第一预设条件包括如下的至少一种:所述m种颜色中任意两种颜色在色度通道的特征值之间的差异大于第一预设值、所述m种颜色中每种颜色在饱和度通道的特征值大于第二预设值。
[0607]
在一种可能的实现中,所述获取模块,用于:
[0608]
获取所述目标对象中包括的n种颜色,所述n为大于m的正整数;
[0609]
显示目标界面,所述目标界面包括n个颜色选项,每个颜色选项用于指示所述n种颜色中的一种;
[0610]
接收用户针对于所述n个颜色选项中m个颜色选项的选择操作;
[0611]
响应于所述选择操作,以获取所述m个颜色选项指示的m种颜色。
[0612]
在一种可能的实现中,所述获取模块,用于:
[0613]
获取目标对象;
[0614]
根据所述目标对象,获取所述目标对象中包括的m种待处理颜色;
[0615]
调整所述m种待处理颜色在亮度通道的特征值,以便所述m种待处理颜色中任意两种待处理颜色在亮度通道的特征值之间的差异大于预设值,以获取所述m种颜色。
[0616]
在一种可能的实现中,所述获取模块,用于:
[0617]
显示第一界面,所述第一界面包括第一控件,所述第一控件用于指示用户输入图像;
[0618]
接收用户基于所述第一控件输入的所述目标对象。
[0619]
在一种可能的实现中,所述获取模块,用于:
[0620]
接收用户输入的m种颜色。
[0621]
在一种可能的实现中,所述获取模块,用于:
[0622]
显示第二界面,所述第二界面包括第一输入框,所述第一输入框用于指示用户输入用于指示颜色的颜色信息;
[0623]
接收用户在所述第一输入框中输入的m个颜色信息;
[0624]
根据所述m个颜色信息,获取所述m种颜色。
[0625]
在一种可能的实现中,所述目标颜色通道包括如下的至少一种:红色通道、绿色通
道、蓝色通道、色度通道、亮度通道、以及饱和度通道。
[0626]
在一种可能的实现中,所述目标链接包括第一字符和第二字符,所述获取模块,用于:
[0627]
基于第一编码规则对所述第一字符进行编码,得到第一子码流;
[0628]
基于第二编码规则对所述第二字符进行编码,得到第二子码流,所述第一编码规则和所述第二编码规则不同。
[0629]
在一种可能的实现中,所述第一字符和所述第二字符的大小相同,所述第一子码流的比特数与所述第二子码流的比特数的大小不同。
[0630]
在一种可能的实现中,所述第一字符和所述第二字符为所述目标链接中相邻的字符,所述获取模块,用于:
[0631]
获取跳转指示符,所述跳转指示符用于指示通过所述第二编码规则进行字符编码;
[0632]
基于第一编码规则对所述跳转指示符进行编码,得到第三子码流;
[0633]
根据所述跳转指示符,基于所述第二编码规则对所述第二字符进行编码。
[0634]
本技术还提供了一种二维码识别装置,二维码识别装置可以为终端设备或服务器,参照图27,图27为本技术实施例提供的一种二维码识别装置的结构示意,如图27中示出的那样,所述二维码识别装置2700包括:
[0635]
获取模块2701,用于获取目标图像,所述目标图像包括目标二维码,所述目标二维码包括多个码元;
[0636]
获取所述多个码元包括的m种颜色以及每种颜色在目标颜色通道的特征值;
[0637]
获取模块2701的具体描述可以参照步骤2301以及步骤2302的描述,这里不再赘述。
[0638]
映射关系确定模块2702,用于根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息;
[0639]
根据所述目标映射关系,确定所述多个码元中每个码元的颜色所对应的码元信息;
[0640]
映射关系确定模块2702的具体描述可以参照步骤2303以及步骤2304的描述,这里不再赘述。
[0641]
译码模块2703,用于根据所述多个码元中每个码元的颜色所对应的码元信息,对所述目标二维码进行译码。
[0642]
译码模块2703的具体描述可以参照步骤2305的描述,这里不再赘述。
[0643]
在一种可能的实现中,所述获取模块,用于:
[0644]
获取译码后得到的译码内容,其中所述译码内容包括字符串,所述译码内容用于触发对应的功能;
[0645]
其中所述功能至少包括如下的一种:
[0646]
跳转至对应的网页;
[0647]
打开对应的应用程序中的目标功能;
[0648]
显示对应的字符串;
[0649]
显示对应的视频;
[0650]
或,播放对应的音频。
[0651]
在一种可能的实现中,所述目标颜色通道包括如下的至少一种:红色通道、绿色通道、蓝色通道、色度通道、亮度通道、以及饱和度通道。
[0652]
在一种可能的实现中,所述目标图像为灰度图像,所述目标颜色通道为亮度通道。
[0653]
在一种可能的实现中,所述获取模块,用于:
[0654]
获取所述多个码元中各个码元的颜色,并基于聚类算法,获取所述多个码元包括的m种颜色,其中,所述m种颜色中的每个颜色为聚类算法得到的一个聚类中心;
[0655]
相应的,所述映射关系确定模块,用于获取每个码元的颜色与所述m种颜色中最相似的颜色;
[0656]
根据所述目标映射关系,确定所述每个码元的颜色与所述m种颜色中最相似的颜色所对应的码元信息。
[0657]
在一种可能的实现中,所述多个码元中每个码元的颜色所对应的码元信息用于组成码流,所述码流包括第一子码流以及第二子码流;所述译码模块,用于基于第一译码规则对所述第一子码流进行译码,得到第一字符;
[0658]
基于第二译码规则对所述第二子码流进行译码,得到第二字符,所述第一译码规则和所述第二译码规则不同。
[0659]
在一种可能的实现中,所述第一字符和所述第二字符的大小相同,所述第一子码流的比特数与所述第二子码流的比特数的大小不同。
[0660]
在一种可能的实现中,所述码流还包括第三子码流,所述第一子码流与所述第三子码流相邻,所述第三子码流与所述第二子码流相邻,所述译码模块,用于:
[0661]
基于所述第一译码规则对所述第三子码流进行译码,得到跳转指示符,所述跳转指示符用于指示通过所述第二译码规则进行字符译码;
[0662]
相应的,所述基于第二译码规则对所述第二子码流进行译码,包括:
[0663]
根据所述跳转指示符,基于所述第二译码规则对所述第二子码流进行译码。
[0664]
此外,本技术实施例还提供了一种二维码生成装置,所述装置包括:
[0665]
获取模块,用于获取目标对象以及目标链接;
[0666]
根据所述目标对象,获取所述目标对象中包括的m种颜色,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;
[0667]
二维码生成模块,用于根据所述m种颜色和所述目标链接,生成目标二维码,其中,所述目标二维码的颜色风格与所述目标对象的颜色风格一致,所述目标二维码包括多个码元,所述多个码元的颜色包括所述m种颜色,且每个码元的颜色对应于一个码元信息,所述多个码元的颜色对应的多个码元信息用于表征所述目标链接。
[0668]
在一种可能的实现中,所述目标对象为用于指示目标企业或目标商品的标识,所述目标二维码包括包括位于中部的图像区域和围绕所述图像区域的编码区域,所述编码区域包括所述多个码元,所述图像区域包括所述目标对象。
[0669]
在一种可能的实现中,所述获取模块,用于获取所述目标对象中像素占比更大的m种颜色。
[0670]
在一种可能的实现中,所述获取模块,用于获取所述目标对象中包括的n种颜色,
所述n为大于m的正整数;
[0671]
显示目标界面,所述目标界面包括n个颜色选项,每个颜色选项用于指示所述n种颜色中的一种;
[0672]
接收用户针对于所述n个颜色选项中m个颜色选项的选择操作;
[0673]
响应于所述选择操作,以获取所述m个颜色选项指示的m种颜色。
[0674]
在一种可能的实现中,所述获取模块,用于显示第一界面,所述第一界面包括第一控件,所述第一控件用于指示用户输入图像;
[0675]
接收用户基于所述第一控件输入的所述目标对象。在一种可能的实现中,所述获取模块,用于获取所述m种颜色中每种颜色在目标颜色通道的特征值,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;
[0676]
根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息;
[0677]
生成所述目标链接对应的码流,所述码流包括多个码元信息;
[0678]
相应的,所述二维码生成模块,用于根据所述目标映射关系,确定所述码流中每个码元信息对应的颜色,并根据所述码流中每个码元信息对应的颜色,生成目标二维码。
[0679]
在一种可能的实现中,所述获取模块,用于获取所述目标对象中像素占比更大的n种颜色,所述n为大于所述m的正整数;
[0680]
从所述n种颜色中获取满足第一预设条件的m种颜色,所述第一预设条件包括如下的至少一种:所述m种颜色中任意两种颜色在色度通道的特征值之间的差异大于第一预设值、所述m种颜色中每种颜色在饱和度通道的特征值大于第二预设值。
[0681]
在一种可能的实现中,所述目标链接用于触发对应的功能;
[0682]
其中所述功能至少包括如下的一种:
[0683]
跳转至对应的网页;
[0684]
打开对应的应用程序中的目标功能;
[0685]
显示对应的字符串;
[0686]
显示对应的视频;
[0687]
或,播放对应的音频。
[0688]
此外,本技术实施例还提供了一种二维码生成装置,所述装置包括:
[0689]
获取模块,用于接收用户输入的m种颜色以及获取目标链接,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;
[0690]
二维码生成模块,用于根据所述m种颜色和所述目标链接,生成目标二维码,所述目标二维码包括多个码元,所述多个码元的颜色包括所述m种颜色,且每个码元的颜色对应于一个码元信息,所述多个码元的颜色对应的多个码元信息用于表征所述目标链接。
[0691]
在一种可能的实现中,所述获取模块,用于显示第二界面,所述第二界面包括第一输入框,所述第一输入框用于指示用户输入用于指示颜色的颜色信息;
[0692]
接收用户在所述第一输入框中输入的m个颜色信息;
[0693]
根据所述m个颜色信息,获取所述m种颜色。
[0694]
在一种可能的实现中,所述获取模块,用于获取所述m种颜色中每种颜色在目标颜色通道的特征值,所述m种颜色包括至少一种彩色颜色,所述m为大于1的整数;
[0695]
根据所述m种颜色在目标颜色通道的特征值之间的大小关系,确定目标映射关系,所述目标映射关系包括所述m种颜色中每种颜色所对应的码元信息;
[0696]
生成所述目标链接对应的码流,所述码流包括多个码元信息;
[0697]
相应的,所述二维码生成模块,用于根据所述目标映射关系,确定所述码流中每个码元信息对应的颜色,并根据所述码流中每个码元信息对应的颜色,生成目标二维码。
[0698]
在一种可能的实现中,所述目标链接用于触发对应的功能;
[0699]
其中所述功能至少包括如下的一种:
[0700]
跳转至对应的网页;
[0701]
打开对应的应用程序中的目标功能;
[0702]
显示对应的字符串;
[0703]
显示对应的视频;
[0704]
或,播放对应的音频。
[0705]
接下来介绍本技术实施例提供的一种终端设备,请参阅图28,图28为本技术实施例提供的终端设备的一种结构示意图,终端设备2800具体可以表现为虚拟现实vr设备、手机、平板、笔记本电脑、智能穿戴设备等,此处不做限定。具体的,终端设备2800包括:接收器2801、发射器2802、处理器2803和存储器2804(其中终端设备2800中的处理器2803的数量可以一个或多个,图28中以一个处理器为例),其中,处理器2803可以包括应用处理器28031和通信处理器28032。在本技术的一些实施例中,接收器2801、发射器2802、处理器2803和存储器2804可通过总线或其它方式连接。
[0706]
存储器2804可以包括只读存储器和随机存取存储器,并向处理器2803提供指令和数据。存储器2804的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,nvram)。存储器2804存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
[0707]
处理器2803控制终端设备的操作。具体的应用中,终端设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
[0708]
上述本技术实施例揭示的方法可以应用于处理器2803中,或者由处理器2803实现。处理器2803可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2803中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2803可以是通用处理器、数字信号处理器(digital signal processing,dsp)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器2803可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器2804,处理器2803读取存
储器2804中的信息,结合其硬件完成上述方法的步骤。
[0709]
接收器2801可用于接收输入的数字或字符信息,以及产生与终端设备的相关设置以及功能控制有关的信号输入。发射器2802可用于通过第一接口输出数字或字符信息;发射器2802还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器2802还可以包括显示屏等显示设备。
[0710]
本技术实施例中,在一种情况下,处理器2803,用于执行上述实施例中的二维码生成以及二维码识别方法中与处理相关的步骤。
[0711]
本技术实施例还提供了一种服务器,请参阅图29,图29是本技术实施例提供的服务器的一种结构示意图,服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)2922(例如,一个或一个以上处理器)和存储器2932,一个或一个以上存储应用程序2942或数据2944的存储介质2930(例如一个或一个以上海量存储设备)。其中,存储器2932和存储介质2930可以是短暂存储或持久存储。存储在存储介质2930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对训练设备中的一系列指令操作。更进一步地,中央处理器2922可以设置为与存储介质2930通信,在服务器2900上执行存储介质2930中的一系列指令操作。
[0712]
服务器2900还可以包括一个或一个以上电源2926,一个或一个以上有线或无线网络接口2950,一个或一个以上输入输出接口2958,和/或,一个或一个以上操作系统2941,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
[0713]
本技术实施例中,中央处理器2922,用于执行上述实施例中的二维码生成以及二维码识别方法。
[0714]
本技术实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行二维码生成以及二维码识别方法的步骤。
[0715]
本技术实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述实施例描述的方法中的二维码生成以及二维码识别方法的步骤。
[0716]
本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本技术中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本技术中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本技术中均不作限定。并且,作为分离部件说明的模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或
者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本技术方案的目的。
[0717]
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本技术提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
[0718]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本技术而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、rom、ram、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本技术各个实施例所述的方法。
[0719]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
[0720]
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1