本发明实施例涉及信息处理领域,尤其涉及一种二维码生成方法,以及,一种二维码生成装置。
背景技术:
目前,越来越多用户通过二维码传递信息。通常,用户向二维码生成网站上传指定的字符串信息,二维码网站则针对该字符串信息生成二维码,并返回给用户,由此用户得到了针对指定字符串生成的二维码,并通过即时通讯软件、网站页面等方式,将该二维码分享给其他用户。其他用户通过识别该二维码,则可以得到相应的字符串信息。例如,某个用户在微信群里发布一个二维码,或在论坛上发布一个二维码,供其他用户扫描该二维码以获取特定信息,或者,商家提供一个二维码,供客户扫描二维码,获取支付信息以向商家支付。
然而,目前的二维码统一由黑色元素和白色元素两种二维码元素构成,不同二维码之间的外观特征都比较相似,辨识度不高。用户在扫描二维码时,可能无法分辨该二维码是否为自己当前需要扫描的目标二维码,因此需要和其他用户确认,增加了用户之间传递信息所花费的时间,降低了信息传递效率。而且,部分恶意用户可能会伪造其他用户的二维码,但由于原始二维码辨识度较低,用户在扫描时,难以分辨该二维码是属于正常用户发布的二维码还是非法伪造的二维码,如果用户基于伪造的二维码进行扫描和操作,则会存在安全风险,甚至可能会造成用户的财产损失。
因此,现有的二维码生成方法存在着信息传递效率较低和防伪能力较差的问题。
技术实现要素:
本发明提供了一种二维码生成方法,以及,一种二维码生成装置,以解决现有的二维码生成方法存在着信息传递效率较低和防伪能力较差的问题。
为了解决上述技术问题,本发明实施例提供了一种二维码生成方法,所述方法包括:
获取原始二维码和多个自定义二维码元素;所述原始二维码包括多个二维码元素;所述自定义二维码元素具有第一形状特征;
识别所述原始二维码中的二维码元素组合;所述二维码元素组合包括具有邻接关系的至少两个二维码元素;所述二维码元素组合具有第二形状特征;
将所述多个自定义二维码元素的第一形状特征与所述二维码元素组合的第二形状特征进行匹配;
若存在形状特征匹配的目标自定义二维码元素,将所述目标自定义二维码元素替换所述原始二维码中的二维码元素组合,得到目标二维码。
可选地,所述识别所述原始二维码中的二维码元素组合的步骤,包括:
选取至少一个二维码元素;
查找与选取的二维码元素直接邻接以及间接邻接的多个二维码元素,作为与选取的二维码元素具有邻接关系的多个邻接二维码元素;
将选取的二维码元素和所述多个邻接二维码元素,作为所述二维码元素组合。
可选地,所述将所述多个自定义二维码元素的第一形状特征与所述二维码元素组合的第二形状特征进行匹配的步骤,包括:
选取至少一个自定义二维码元素,作为候选自定义二维码元素;
判断所述候选自定义元素的第一形状特征与所述二维码元素组合的第二形状特征是否匹配;
若是,则提取所述候选自定义二维码元素,作为所述目标自定义二维码元素;
若否,则返回所述选取至少一个自定义二维码元素,作为候选自定义二维码元素的步骤。
可选地,所述第一形状特征包括像素高度M1和像素宽度N1,所述第二形状特征包括像素高度M2和像素宽度N2,所述判断所述候选自定义元素的第一形状特征与所述二维码元素组合的第二形状特征是否匹配的步骤,包括:
判断所述候选自定义元素的像素高度M1与所述二维码元素组合的像素高度M2是否一致,以及,判断所述候选自定义元素的像素宽度N1与所述二维码元素组合的像素宽度N2是否一致。
可选地,所述方法还包括:
接收用户提交的待转换字符串;
将所述待转换字符串转换成二维码数组;
所述获取原始二维码的步骤,包括:
针对所述二维码数组,生成所述原始二维码。
可选地,在所述获取原始二维码和多个自定义二维码元素的步骤之前,所述方法还包括:
接收用户提交的多个二维码元素,作为所述多个自定义二维码元素。
可选地,所述多个二维码元素具有坐标,所述方法还包括:
获取用户输入的多个自定义颜色以及与其对应的多个坐标类别;
将所述原始二维码中的各个二维码元素的灰度值与预设的灰度值阈值进行比较;
获取灰度值小于所述灰度值阈值的二维码元素,作为待调色二维码元素;
针对多个待调色二维码元素具有的坐标,对所述多个待调色二维码元素标记坐标类别;
针对所述多个待调色二维码元素所标记的坐标类别,对所述多个待调色二维码元素分别添加对应的自定义颜色,得到多彩二维码。
可选地,所述方法还包括:
获取形状特征与所述多个待调色二维码元素的形状特征匹配的特定水印图片;
采用所述特定水印图片替换所述多个待调色二维码元素。
可选地,所述方法还包括:
获取特定图片标识;
确定所述原始二维码的中心位置,并在所述原始二维码的中心位置添加所述特定图片标识,得到图片标识二维码。
为了解决上述技术问题,本发明实施例还提供了一种二维码生成装置,所述装置包括:
原始二维码获取模块,用于获取原始二维码和多个自定义二维码元素;所述原始二维码包括多个二维码元素;所述自定义二维码元素具有第一形状特征;
二维码元素组合识别模块,用于识别所述原始二维码中的二维码元素组合;所述二维码元素组合包括具有邻接关系的至少两个二维码元素;所述二维码元素组合具有第二形状特征;
匹配模块,用于将所述多个自定义二维码元素的第一形状特征与所述二维码元素组合的第二形状特征进行匹配;
目标二维码生成模块,用于若存在形状特征匹配的目标自定义二维码元素,将所述目标自定义二维码元素替换所述原始二维码中的二维码元素组合,得到目标二维码。
根据本发明实施例,通过识别原始二维码中的二维码元素组合,采用形状特征与二维码元素组合的形状特征匹配的自定义二维码元素,替换二维码元素组合,所得到的目标二维码具有了较高的辨识度,同时又保证原始二维码中所记录的字符串信息的完整性,使得目标二维码可以被移动终端所识别。从而,用户在分享目标二维码时,在保持目标二维码的识别率的同时,增强了二维码的辨识度,用户无须再额外进行二维码的确认过程,节省了用户之间传递信息所花费的时间,提升了信息传递的效率。而且,通过采用用户个人的二维码元素作为自定义二维码元素,由于恶意用户无法生成包含有该自定义二维码元素的目标二维码,因此,恶意用户无法伪造其他用户的二维码,提升了二维码的数据安全性。
附图说明
图1是本发明实施例一提供的一种二维码生成方法的流程图;
图2是本发明实施例的一种原始二维码的示意图;
图3是本发明实施例的多个自定义二维码元素的示意图;
图4是本发明实施例的二维码元素组合的示意图;
图5是本发明实施例的一种目标二维码的示意图;
图6是本发明实施例二提供的一种二维码生成方法的流程图;
图7是本发明实施例三提供的一种二维码生成装置的结构框图;
图8是本发明实施例四提供的一种二维码生成装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
图1是本发明实施例一提供的一种二维码生成方法的流程图,该方法具体可以包括如下步骤:
步骤101,获取原始二维码和多个自定义二维码元素;所述原始二维码包括多个二维码元素;所述自定义二维码元素具有第一形状特征。
需要说明的是,本发明实施例的二维码生成方法可以应用于手机、平板电脑等移动终端,也可以应用于服务器上。
针对于移动终端的实现方案,可以sdk(Software Development Kit,软件开发工具包)、JS文件(javascript,JAVA语言脚本)的形式,安装在移动终端上,作为一个二维码生成应用。用户可以启动该二维码生成应用,提交一个自定义字符串,该二维码生成应用则可以针对该自定义字符串,生成一个二维码数组,并根据该二维码数组,生成一个由黑色元素和白色元素组成的原始二维码。
针对于服务器的实现方案,可以向用户提供web(World Wide Web,万维网)接口,用户通过该接口上传自定义字符串至服务器,服务器可以针对该自定义字符串,生成一个二维码数组,并返回至移动终端,移动终端可以针对接收到的二维码数组,生成一个由黑色二维码元素和白色二维码元素组成的原始二维码。
黑色二维码元素和白色二维码元素可以为包含多个黑色像素的图像和包含多个白色像素的图像。
一个原始二维码中,二维码元素之间通过特定的组合排列,映射特定的字符串,从而使得所生成的原始二维码记录了用户提交的自定义字符串。
在本发明实施例中,将会针对黑色二维码元素或者白色二维码元素替换为自定义二维码元素,因此,本发明实施例中的二维码元素可以为二维码中的黑色二维码元素,或者,白色二维码元素。
需要补充说明的是,生成原始二维码的过程中,可以首先创建一个不包含二维码元素的二维码框架,该二维码框架包含有多个二维码单元格cell,该二维码单元格cell是一个二维码最基础的组成单元,通常为四方形。该四方形的二维码单元格可以定义其像素高度和像素宽度,例如定义其像素高度为50像素,其像素宽度为50像素。可以根据自定义字符串,在各个二维码单元格中填充黑色二维码元素或白色二维码元素,由此得到的黑色二维码元素和白色二维码元素,其像素高度和像素宽度,即为该二维码单元格的像素高度和像素宽度。
图2是本发明实施例的原始二维码的示意图。从图中可见,原始二维码由多个的黑色二维码元素或白色二维码元素组成。其中,每个二维码元素相应具有一定的像素高度和像素宽度。例如,每个二维码元素的像素高度和像素宽度均为50像素。
上述的自定义二维码元素可以由用户提供,用户可以将一系列的二维码元素提交至二维码生成应用,或者,上传至服务器,作为自定义二维码元素。
自定义二维码元素可以为包含多个不同颜色像素的图像。由多个像素构成的自定义二维码元素,则具有相应的像素高度和像素宽度,可以将该自定义二维码元素的像素高度和像素宽度,作为自定义二维码元素的形状特征。
例如,某个自定义二维码元素的像素高度为100像素,像素宽度为50像素,可以将100像素*50像素作为该自定义二维码元素的形状特征。
为了便于表述,可以将自定义二维码元素所具有的形状特征,定义为第一形状特征。不同自定义二维码元素,可以具有不同的第一形状特征。
实际应用中,也可以将自定义二维码元素的形状特征,从像素高度和像素宽度,转换为二维码单元格cell的形状特征,例如,一个由10*10个cell组成的原始二维码,其像素高度和像素宽度为500像素*500像素,计算得到每个二维码单元格cell的像素高度和像素宽度均为50像素*50像素,假设自定义二维码元素的像素高度和像素宽度为200像素*100像素,由此,可以计算得到该自定义二维码元素的形状特征为4*2个二维码单元格cell。
图3是本发明实施例的多个自定义二维码元素的示意图。从图中可见,多个自定义二维码元素中,可以包含有形状特征为1*1个二维码单元格cell的自定义二维码元素,2*1个二维码单元格cell的自定义二维码元素,2*2个二维码单元格cell的自定义二维码元素,3*2个二维码单元格cell的自定义二维码元素,以及,4*2个二维码单元格cell的自定义二维码元素。
步骤102,识别所述原始二维码中的二维码元素组合;所述二维码元素组合包括具有邻接关系的至少两个二维码元素;所述二维码元素组合具有第二形状特征。
上述的二维码元素组合,可以为具有邻接关系的两个或多个二维码元素。邻接关系包括有直接邻接关系和间接邻接关系两种。所谓直接邻接关系,可以为两个二维码元素之间相邻,而间接邻接关系,可以为两个二维码元素之间通过其他二维码元素之间相邻。当两个二维码元素之间不直接相邻,也不通过其他二维码元素相邻,则之间不具有邻接关系。
可以将具有邻接关系的多个二维码元素,作为一个二维码元素组合。
在实际应用中,本领域技术人员可以通过多种具体的实施方式确定二维码元素组合。例如,针对原始二维码创建坐标轴,其中的各个二维码元素,根据所处的坐标轴位置标记元素坐标(x1,y1),(x2,y2)…(xn,yn),然后通过匹配元素坐标,确定具有邻接关系的多个二维码元素,作为二维码元素组合。
二维码元素组合具有形状特征,其形状特征由组成该二维码元素组合的多个二维码元素的数量和分布位置确定。例如,一个二维码元素组合由纵向的4个黑色二维码元素组成,每个黑色二维码元素的形状特征为50像素*50像素,则该二维码元素组合的形状特征为200像素*50像素,或者,将该二维码元素组合转换成二维码单元格cell的度量单位后,即为4*1个二维码单元格cell。
为了便于表述,可以将二维码元素组合所具有的形状特征,定义为第二形状特征。不同二维码元素组合,可以具有不同的第二形状特征。
图4是本发明实施例的二维码元素组合的示意图。从图中可见,在标识A的圈内为一个二维码元素组合A,该二维码元素组合A由具有邻接关系的3*3个黑色二维码元素组成,在标识B的圈内为另一个二维码元素组合B,该二维码元素组合B由具有邻接关系的2*1个黑色二维码元素组成。假设每个黑色二维码元素为50像素*50像素,二维码元素组合A的第二形状特征为150像素*150像素,即,3*3个二维码单元格cell;二维码元素组合B的第二形状特征为100像素*50像素,即,2*1个二维码单元格cell。
步骤103,将所述多个自定义二维码元素的第一形状特征与所述二维码元素组合的第二形状特征进行匹配。
具体实现中,可以首先选取一个二维码元素组合,确定其第二形状特征,然后在多个自定义二维码元素中,查找第一形状特征与选取的二维码元素组合的第二形状特征匹配的自定义二维码元素。
通过针对至少一个二维码元素组合,遍历所有自定义二维码元素,可以匹配到多个自定义二维码元素,作为目标自定义二维码元素。
例如,针对图4所示的二维码元素组合B,其第二形状特征为2*1个二维码单元格cell,在图3所示的多个自定义二维码元素中,查找第一形状特征同为2*1个二维码单元格cell的自定义二维码元素。
步骤104,若存在形状特征匹配的目标自定义二维码元素,将所述目标自定义二维码元素替换所述原始二维码中的二维码元素组合,得到目标二维码。
具体实现中,若某个自定义二维码元素的第一形状特征与二维码元素组合的第二形状特征匹配,可以提取该自定义二维码元素,作为目标自定义二维码元素,并采用目标自定义二维码元素,在原始二维码中,替换二维码元素组合。将原始二维码中的多个二维码元素均替换为形状特征匹配的目标自定义二维码元素后,得到了目标二维码。
在实际应用中,可以缩放目标自定义二维码的大小,以适配原始二维码中的二维码单元格cell的大小。
图5是本发明实施例的一种目标二维码的示意图。从图中可见,原始二维码的黑色二维码元素,均被替换为自定义二维码元素。自定义二维码元素具有较高的辨识度,而且,由于自定义二维码元素的形状特征与原始二维码中的各个二维码元素组合匹配,因此并没有改变原始二维码中二维码元素所记录的字符串信息,保证了原始二维码中所记录字符串信息的完整性。
根据本发明实施例,通过识别原始二维码中的二维码元素组合,采用形状特征与二维码元素组合的形状特征匹配的自定义二维码元素,替换二维码元素组合,所得到的目标二维码具有了较高的辨识度,同时又保证原始二维码中所记录的字符串信息的完整性,使得目标二维码可以被移动终端所识别。从而,用户在分享目标二维码时,在保持目标二维码的识别率的同时,增强了二维码的辨识度,用户无须再额外进行二维码的确认过程,节省了用户之间传递信息所花费的时间,提升了信息传递的效率。而且,通过采用用户个人的二维码元素作为自定义二维码元素,由于恶意用户无法生成包含有该自定义二维码元素的目标二维码,因此,恶意用户无法伪造其他用户的二维码,提升了二维码的数据安全性。
实施例二
图6是本发明实施例二提供的一种二维码生成方法的流程图,该方法具体可以包括如下步骤:
步骤201,接收用户提交的待转换字符串。
步骤202,将所述待转换字符串转换成二维码数组。
在具体实现中,可以向用户提供二维码生成接口,用户可以通过该接口提交一个待转换字符串,例如,某个支付信息、网站链接、微信账号等。用户还可以通过该接口,设定自定义二维码元素、所生成二维码的边距、版本等参数。在接收到待转换字符串后,可以针对该待转换字符串,生成一个二维码数组,以便基于该二维码数组生成原始二维码。
步骤203,获取原始二维码和多个自定义二维码元素;所述原始二维码包括多个二维码元素;所述自定义二维码元素具有第一形状特征。
可选地,所述获取原始二维码的步骤,可以具体包括:
针对所述二维码数组,生成所述原始二维码。
具体实现中,可以针对接收到的二维码数组,生成黑白的原始二维码。
可选地,在所述步骤203之前,所述方法可以还包括:
接收用户提交的多个二维码元素,作为所述多个自定义二维码元素。
具体实现中,用户可以提交指定的多个二维码元素,作为自定义二维码元素。得到用户提交的自定义二维码元素后,该多个自定义二维码元素可以归属于用户个人,其他用户无法采用该多个自定义二维码元素生成目标二维码。
在实际的应用中,部分恶意用户可能会伪造其他用户的二维码,但由于原始二维码辨识度较低,用户在扫描时,难以分辨该二维码是属于正常用户发布的二维码还是非法伪造的二维码。通过采用用户个人的二维码元素作为自定义二维码元素,由于恶意用户无法生成包含有该自定义二维码元素的目标二维码,因此,恶意用户无法伪造其他用户的二维码,提升了二维码的数据安全性。
此外,在实际应用中,由于最终生成的目标二维码的高宽通常在500像素至1000像素的范围内,相应地,自定义二维码元素的高宽可以限制在25像素至100像素的范围内,以避免自定义二维码元素在目标二维码中发生图像失真、无法识别的情况。而且,自定义二维码元素具有颜色的面积可以占单个元素的总面积80%以上,以保证目标二维码中的自定义二维码元素被正确识别。进一步,自定义二维码元素适合于采用暗色系设计元素图案,使得自定义二维码元素与没有被替换的白色二维码元素之间具有足够的色差,保证目标二维码被正确识别。
步骤204,识别所述原始二维码中的二维码元素组合;所述二维码元素组合包括具有邻接关系的至少两个二维码元素;所述二维码元素组合具有第二形状特征。
可选地,所述步骤204,可以具体包括以下子步骤:
子步骤S11,选取至少一个二维码元素;
子步骤S12,查找与选取的二维码元素直接邻接以及间接邻接的多个二维码元素,作为与选取的二维码元素具有邻接关系的多个邻接二维码元素;
子步骤S13,将选取的二维码元素和所述多个邻接二维码元素,作为所述二维码元素组合。
具体实现中,针对原始二维码中的某个二维码元素组合,可以选取其中的一个二维码元素,然后在选取的二维码元素的关联位置搜索是否存在有其他二维码元素,若存在有邻接的一个或多个二维码元素,将其作为具有邻接关系的邻接二维码元素,然后继续针对搜索到的一个或多个邻接二维码元素,搜索除之前选取的二维码元素之外的其他邻接二维码元素,如此类推,直到穷尽所有邻接二维码元素,最后标记多个邻接二维码元素,作为一个二维码元素组合。
步骤205,将所述多个自定义二维码元素的第一形状特征与所述二维码元素组合的第二形状特征进行匹配。
可选地,所述步骤205,可以具体包括以下子步骤:
子步骤S21,选取至少一个自定义二维码元素,作为候选自定义二维码元素;
子步骤S22,判断所述候选自定义元素的第一形状特征与所述二维码元素组合的第二形状特征是否匹配;若是,则执行子步骤S23,若否,则执行子步骤S24;
子步骤S23,提取所述候选自定义二维码元素,作为所述目标自定义二维码元素;
子步骤S24,返回所述选取至少一个自定义二维码元素,作为候选自定义二维码元素的步骤。
具体实现中,可以针对某个二维码元素组合,确定其第二形状特征,然后在多个自定义二维码元素中,选取一个候选自定义二维码元素,针对候选自定义二维码元素与二维码元素组合之间的形状特征进行比较,若形状特征一致,则提取该候选自定义二维码元素,作为目标自定义二维码元素,若不一致,则选取下一个自定义二维码元素继续进行比较。通过针对至少一个二维码元素组合,遍历所有自定义二维码元素,可以匹配到多个自定义二维码元素,作为目标自定义二维码元素。
可选地,所述第一形状特征包括像素高度M1和像素宽度N1,所述第二形状特征包括像素高度M2和像素宽度N2,所述子步骤S22,可以具体为:
判断所述候选自定义元素的像素高度M1与所述二维码元素组合的像素高度M2是否一致,以及,判断所述候选自定义元素的像素宽度N1与所述二维码元素组合的像素宽度N2是否一致。
步骤206,若存在形状特征匹配的目标自定义二维码元素,将所述目标自定义二维码元素替换所述原始二维码中的二维码元素组合,得到目标二维码。
若某个自定义二维码元素的第一形状特征与二维码元素组合的第二形状特征匹配,可以提取该自定义二维码元素,作为目标自定义二维码元素,并采用目标自定义二维码元素,在原始二维码中,替换二维码元素组合。将原始二维码中的多个二维码元素均替换为形状特征匹配的目标自定义二维码元素后,得到了目标二维码。
在实际应用中,用户还可以提供一个自定义背景图片,将目标二维码添加至该自定义背景图片中,从而在扫描二维码时,用户易于辨识该二维码的归属,同时,恶意用户无法制作出包含有自定义背景图片的二维码,提升了二维码的数据安全性。
根据本发明实施例,通过采用用户个人的二维码元素作为自定义二维码元素,由于恶意用户无法生成包含有该自定义二维码元素的目标二维码,因此,恶意用户无法伪造其他用户的二维码,提升了二维码的数据安全性。
可选地,所述多个二维码元素具有坐标,所述方法还包括:
获取用户输入的多个自定义颜色以及与其对应的多个坐标类别;
将所述原始二维码中的各个二维码元素的灰度值与预设的灰度值阈值进行比较;
获取灰度值小于所述灰度值阈值的二维码元素,作为待调色二维码元素;
针对多个待调色二维码元素具有的坐标,对所述多个待调色二维码元素标记坐标类别;
针对所述多个待调色二维码元素所标记的坐标类别,对所述多个待调色二维码元素分别添加对应的自定义颜色,得到多彩二维码。
具体实现中,还可以通过用户提供的自定义颜色得到具有多种色彩的二维码。例如,可以首先针对黑白的原始二维码,通过特定的图像处理方法,缩放至用户自定义的尺寸,得到自定义尺寸的原始二维码。由此,可以将多颜色通道的图片格式转换为单通道的黑白二维码。然后,可以自定义一个灰度值阈值,当二维码中的像素点小于灰度值阈值时,将其作为待调色二维码元素。
此外,还可以由用户指定需要进行颜色调整的二维码元素的坐标。例如,让用户用数学表达式的方法输入(x,y)的分类:第一象限x>width/2,y>height/2点集合,第二象限x<width/2,y>height/2,以此类推,并针对不同象限设定对应的自定义颜色。
最后,当某个待调色二维码元素的坐标属于某个象限中,则采用该象限对应的自定义颜色进行渲染,由此得到多彩二维码。实际应用中,每个像素点均可以由用户指定颜色赋值。
通过在二维码中加入多种色彩,恶意用户无法制作出相似的二维码,提升了二维码的数据安全性
可选地,所述方法还包括:
获取形状特征与所述多个待调色二维码元素的形状特征匹配的特定水印图片;
采用所述特定水印图片替换所述多个待调色二维码元素。
具体实现中,还可以针对待调色二维码元素的形状特征,获取形状特征匹配的特定水印图片,将特定水印图片在原始二维码中替换待调色二维码元素。
可选地,所述方法还包括:
获取特定图片标识;
确定所述原始二维码的中心位置,并在所述原始二维码的中心位置添加所述特定图片标识,得到图片标识二维码。
具体实现中,还可以获取一个特定图片标识,例如用户自定义的LOGO。将该特定图片标识放置在二维码的中心位置上,得到了包含有特定图片标识的图片标识二维码。从而,便于用户辨识二维码的归属,而且,恶意用户无法制作出包含有特定图片标识的二维码,提升了二维码的数据安全性。
实施例三
图7是本发明实施例三提供的一种二维码生成装置的结构框图,所述二维码生成装置300,可以具体包括如下模块:
原始二维码获取模块301,用于获取原始二维码和多个自定义二维码元素;所述原始二维码包括多个二维码元素;所述自定义二维码元素具有第一形状特征;
二维码元素组合识别模块302,用于识别所述原始二维码中的二维码元素组合;所述二维码元素组合包括具有邻接关系的至少两个二维码元素;所述二维码元素组合具有第二形状特征;
匹配模块303,用于将所述多个自定义二维码元素的第一形状特征与所述二维码元素组合的第二形状特征进行匹配;
目标二维码生成模块304,用于若存在形状特征匹配的目标自定义二维码元素,将所述目标自定义二维码元素替换所述原始二维码中的二维码元素组合,得到目标二维码。
根据本发明实施例,通过识别原始二维码中的二维码元素组合,采用形状特征与二维码元素组合的形状特征匹配的自定义二维码元素,替换二维码元素组合,所得到的目标二维码具有了较高的辨识度,同时又保证原始二维码中所记录的字符串信息的完整性,使得目标二维码可以被移动终端所识别。从而,用户在分享目标二维码时,在保持目标二维码的识别率的同时,增强了二维码的辨识度,用户无须再额外进行二维码的确认过程,节省了用户之间传递信息所花费的时间,提升了信息传递的效率。而且,通过采用用户个人的二维码元素作为自定义二维码元素,由于恶意用户无法生成包含有该自定义二维码元素的目标二维码,因此,恶意用户无法伪造其他用户的二维码,提升了二维码的数据安全性。
实施例四
图8是本发明实施例四提供的一种二维码生成装置的结构框图,所述二维码生成装置400,可以具体包括如下模块:
字符串接收模块401,用于接收用户提交的待转换字符串。
二维码数组转换模块402,用于将所述待转换字符串转换成二维码数组。
原始二维码获取模块403,用于获取原始二维码和多个自定义二维码元素;所述原始二维码包括多个二维码元素;所述自定义二维码元素具有第一形状特征;
二维码元素组合识别模块404,用于识别所述原始二维码中的二维码元素组合;所述二维码元素组合包括具有邻接关系的至少两个二维码元素;所述二维码元素组合具有第二形状特征;
匹配模块405,用于将所述多个自定义二维码元素的第一形状特征与所述二维码元素组合的第二形状特征进行匹配;
目标二维码生成模块406,用于若存在形状特征匹配的目标自定义二维码元素,将所述目标自定义二维码元素替换所述原始二维码中的二维码元素组合,得到目标二维码。
可选地,所述原始二维码获取模块403,包括:
原始二维码生成子模块,用于针对所述二维码数组,生成所述原始二维码。
可选地,所述装置可以还包括:
自定义二维码元素接收模块,用于接收用户提交的多个二维码元素,作为所述多个自定义二维码元素。
可选地,所述二维码元素组合识别模块404,可以具体包括:
二维码元素选取子模块,用于选取至少一个二维码元素;
邻接二维码元素确定子模块,用于查找与选取的二维码元素直接邻接以及间接邻接的多个二维码元素,作为与选取的二维码元素具有邻接关系的多个邻接二维码元素;
二维码元素组合确定子模块,用于将选取的二维码元素和所述多个邻接二维码元素,作为所述二维码元素组合。
可选地,所述匹配模块405,可以具体包括:
候选自定义二维码元素选取子模块,用于选取至少一个自定义二维码元素,作为候选自定义二维码元素;
形状特征判断子模块,用于判断所述候选自定义元素的第一形状特征与所述二维码元素组合的第二形状特征是否匹配;
目标自定义二维码元素提取子模块,用于提取所述候选自定义二维码元素,作为所述目标自定义二维码元素;
返回子模块,用于返回所述选取至少一个自定义二维码元素,作为候选自定义二维码元素的步骤。
可选地,所述第一形状特征包括像素高度M1和像素宽度N1,所述第二形状特征包括像素高度M2和像素宽度N2,所述形状特征判断子模块,具体用于:
判断所述候选自定义元素的像素高度M1与所述二维码元素组合的像素高度M2是否一致,以及,判断所述候选自定义元素的像素宽度N1与所述二维码元素组合的像素宽度N2是否一致。
可选地,所述装置可以还包括:
自定义颜色获取模块,用于获取用户输入的多个自定义颜色以及与其对应的多个坐标类别;
灰度比较模块,用于将所述原始二维码中的各个二维码元素的灰度值与预设的灰度值阈值进行比较;
待调色二维码元素获取模块,用于获取灰度值小于所述灰度值阈值的二维码元素,作为待调色二维码元素;
坐标类别标记模块,用于针对多个待调色二维码元素具有的坐标,对所述多个待调色二维码元素标记坐标类别;
多彩二维码生成模块,用于针对所述多个待调色二维码元素所标记的坐标类别,对所述多个待调色二维码元素分别添加对应的自定义颜色,得到多彩二维码。
可选地,所述装置可以还包括:
水印图片获取模块,用于获取形状特征与所述多个待调色二维码元素的形状特征匹配的特定水印图片;
水印图片替换模块,用于采用所述特定水印图片替换所述多个待调色二维码元素。
可选地,所述装置可以还包括:
图片标识获取模块,用于获取特定图片标识;
图片标识二维码生成模块,用于确定所述原始二维码的中心位置,并在所述原始二维码的中心位置添加所述特定图片标识,得到图片标识二维码。
根据本发明实施例,通过采用用户个人的二维码元素作为自定义二维码元素,由于恶意用户无法生成包含有该自定义二维码元素的目标二维码,因此,恶意用户无法伪造其他用户的二维码,提升了二维码的数据安全性。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种二维码生成方法以及一种二维码生成装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
代做工资流水公司柳州银行对公流水公司莆田工资流水app截图图片绍兴办理自存流水新乡工资银行流水多少钱三亚个人银行流水报价宁波打签证银行流水东莞车贷流水多少钱阜阳企业银行流水价格包头流水公司太原代做薪资银行流水惠州房贷工资流水 价格常州背调工资流水费用绵阳银行流水账单青岛银行流水代开沈阳代办日常消费流水桂林车贷银行流水 价格桂林工资流水单公司徐州贷款工资流水 打印大庆查在职证明合肥代开签证银行流水常州薪资流水单样本银川收入证明模板广州房贷流水报价宿迁对公账户流水报价信阳离职证明代开洛阳贷款流水办理盐城开车贷银行流水保定企业对私流水报价铜陵背调流水样本沧州代做对公账户流水香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤