一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

滑动验证方法、图像生成方法、装置、设备和存储介质与流程

2023-01-06 03:28:58 来源:中国专利 TAG:


1.本技术涉及计算机和互联网技术领域,特别涉及一种滑动验证方法、图像生成方法、装置、设备和存储介质。


背景技术:

2.在互联网常见的业务场景中,如登录、注册、活动等,一般会先通过滑块验证码进行人机验证。
3.滑块验证码显示有背景图像和滑块拼图,滑块拼图是背景图像中的缺口位置中的一部分图像区域,且滑块拼图的初始显示位置在背景图像中除缺口位置之外的任意位置。用户滑动滑块拼图,以便将滑块拼图与背景图像的缺口位置进行拼接。当滑块拼图的滑动位置与背景图像的缺口位置接近,则通过人机验证。
4.但是,滑块验证码容易通过计算机程序中的拾色扫描技术进行破解。比如,计算机程序可以直接从x轴、y轴方向进行拾色扫描,扫出连续色点,然后确定缺口位置,从而计算出滑块拼图需要的滑动距离。


技术实现要素:

5.本技术提供了一种滑动验证方法、图像生成方法、装置、设备和存储介质。所述技术方案如下:
6.根据本技术的一方面,提供了一种滑动验证方法,所述方法由终端执行,所述方法包括:
7.显示图像内容未对齐的第一切割子图和第二切割子图;所述第一切割子图的图像内容和所述第二切割子图的图像内容,与验证图像被切割线切割出的两块图像内容对应;
8.响应于滑动操作,控制所述第一切割子图和/或所述第二切割子图进行滑动;以及在所述图像内容对齐的情况下,确定验证成功。
9.根据本技术的另一方面,提供了一种滑动验证方法,所述方法由第一服务器执行,所述方法包括:
10.向终端发送图像内容未对齐的第一切割子图和第二切割子图;所述第一切割子图的图像内容和所述第二切割子图的图像内容,与验证图像被切割线切割出的两块图像内容对应;
11.接收所述终端发送的滑动距离信息,所述滑动距离信息与所述第一切割子图和/或所述第二切割子图相对滑动的距离有关;
12.在基于所述滑动距离信息确定所述图像内容对齐的情况下,确定验证成功。
13.根据本技术的另一方面,提供了一种图像生成方法,所述方法由第二服务器执行,所述方法包括:
14.获取验证图像;
15.基于切割线对所述验证图像切割出的两块图像内容,得到第一切割子图和第二切
割子图;
16.生成图像内容未对齐的第一切割子图和第二切割子图。
17.根据本技术的另一方面,提供了一种滑动验证装置,所述装置包括:
18.显示模块,用于显示图像内容未对齐的第一切割子图和第二切割子图;所述第一切割子图的图像内容和所述第二切割子图的图像内容,与验证图像被切割线切割出的两块图像内容对应;
19.处理模块,用于响应于滑动操作,控制所述第一切割子图和/或所述第二切割子图进行滑动;以及在所述图像内容对齐的情况下,确定验证成功。
20.根据本技术的另一方面,提供了一种滑动验证装置,所述装置包括:
21.发送模块,用于向终端发送图像内容未对齐的第一切割子图和第二切割子图;所述第一切割子图的图像内容和所述第二切割子图的图像内容,与验证图像被切割线切割出的两块图像内容对应;
22.接收模块,用于接收所述终端发送的滑动距离信息,所述滑动距离信息与所述第一切割子图和/或所述第二切割子图相对滑动的距离有关;
23.验证模块,用于在基于所述滑动距离信息确定所述图像内容对齐的情况下,确定验证成功。
24.根据本技术的另一方面,提供了一种图像生成装置,所述装置包括:
25.获取模块,用于获取验证图像;
26.切割模块,用于基于切割线对所述验证图像切割出的两块图像内容,得到第一切割子图和第二切割子图;
27.生成模块,用于生成图像内容未对齐的第一切割子图和第二切割子图。
28.根据本技术的另一方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现上述滑动验证方法。
29.根据本技术的另一方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现上述滑动验证方法;或,实现上述图像生成方法。
30.根据本技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有可执行指令,所述可执行指令由处理器加载并执行以实现上述滑动验证方法;或,实现上述图像生成方法。
31.根据本技术的另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,所述计算机指令由处理器加载并执行以实现上述滑动验证方法;或,实现上述图像生成方法。
32.本技术实施例提供的技术方案至少包括如下有益效果:
33.本技术实施例中通过显示图像内容未对齐的第一切割子图和第二切割子图,并响应于滑动操作,控制第一切割子图和/或第二切割子图进行滑动,以及在图像内容对齐的情况下,确定验证成功。本技术实施例提供了一种新型的滑动验证码及其滑动验证方式,由于两个切割子图的边界较为隐蔽,很难通过拾色技术预测出两个切割子图的相对位置关系,该滑动验证码的破解难度、破解成本高,可以有效提高滑动验证安全性,还可以在一定程度
上提高用户体验。
附图说明
34.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1是本技术一个实施例提供的相关技术中的图文验证码的示意图;
36.图2是本技术一个实施例提供的相关技术中的滑块验证码的示意图;
37.图3是本技术一个实施例提供的滑动验证方法的实施环境的示意图;
38.图4是本技术一个实施例提供的滑动验证方法的实施环境的示意图;
39.图5是本技术一个实施例提供的滑动验证方法的流程图;
40.图6是本技术一个实施例提供的滑动验证方法的界面示意图;
41.图7是本技术一个实施例提供的滑动验证方法的界面示意图;
42.图8是本技术一个实施例提供的滑动验证方法的界面示意图;
43.图9是本技术一个实施例提供的滑动验证方法的界面示意图;
44.图10是本技术一个实施例提供的滑动验证方法的流程图;
45.图11是本技术一个实施例提供的滑动验证方法的流程图;
46.图12是本技术一个实施例提供的滑动验证方法的流程图;
47.图13是本技术一个实施例提供的滑动验证方法的流程图;
48.图14是本技术一个实施例提供的滑动验证方法的流程图;
49.图15是本技术一个实施例提供的滑动验证方法的界面示意图;
50.图16是本技术一个实施例提供的滑动验证方法的流程图;
51.图17是本技术一个实施例提供的图像生成方法的流程图;
52.图18是本技术一个实施例提供的图像生成方法的流程图;
53.图19是本技术一个实施例提供的图像生成方法的流程图;
54.图20是本技术一个实施例提供的图像生成方法的流程图;
55.图21是本技术一个实施例提供的图像生成方法的流程图;
56.图22是本技术一个实施例提供的图像生成方法的流程图;
57.图23是本技术一个实施例提供的图像生成方法的示意图;
58.图24是本技术一个实施例提供的图像生成方法的示意图;
59.图25是本技术一个实施例提供的图像生成方法的示意图;
60.图26是本技术一个实施例提供的图像生成方法的示意图;
61.图27是本技术一个实施例提供的图像生成方法的示意图;
62.图28是本技术一个实施例提供的图像生成方法的示意图;
63.图29是本技术一个实施例提供的图像生成方法的示意图;
64.图30是本技术一个实施例提供的图像生成方法的示意图;
65.图31是本技术一个实施例提供的图像生成方法的流程图;
66.图32是本技术一个实施例提供的滑动验证装置的结构框图;
67.图33是本技术一个实施例提供的滑动验证装置的结构框图;
68.图34是本技术一个实施例提供的图像生成装置的结构框图;
69.图35是本技术一个实施例提供的终端的结构框图;
70.图36是本技术一个实施例提供的服务器的结构框图。
具体实施方式
71.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
72.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
73.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
74.相关技术中,验证码包括图文验证码和滑块验证码。图1示出了相关技术中的图文验证码的示意图,该图文验证码中包括字母和文字,当在指定区域内输入图文验证码中的文字,输入的文字与图文验证码中的文字一致即通过验证。但是,这种图文验证码容易通过光学字符识别(optical character recognition,ocr)技术进行破解。图2示出了相关技术中的滑块验证码的示意图,滑块验证码包括滑块拼图a和背景图像,该背景图像存在缺口b,滑块拼图a的图像内容是背景图像中的一部分图像区域(缺口b)的图像内容,且滑块拼图a的初始显示位置在背景图像中除缺口b位置之外的任意位置。该存在缺口b的背景图像通过图像掩膜的方式生成。其中,图像掩膜是指用特定的图像、图形或者物体,对背景图像的全部或局部进行遮挡。比如,采用如滑块拼图a的掩膜图形对背景图像的局部进行遮挡,以生成存在缺口b的背景图像。用户通过滑动,将滑块拼图a与缺口b进行拼接,当滑块拼图a位置与缺口b位置接近,则通过人机验证。但是,这种滑块验证码的滑块拼图a与缺口b是上下对称或左右对称的,且两者相对应的点的距离等距,计算机程序可以从x轴、y轴方向进行拾色扫描,扫描出连续色点,确定缺口b的中心,计算出将滑块拼图a滑动至缺口b时滑块需要的滑动距离,容易进行破解。
75.基于上述问题,图3示出了本技术一个示例性实施例提供的滑动验证方法的实施环境的示意图。该实施环境可以实现成为滑动验证方法的系统架构。该实施环境可以包括:终端100和服务器200,该服务器200也可称为第一服务器。
76.终端100可以是诸如手机、平板电脑、车载终端(车机)、可穿戴设备、pc(personal computer,个人计算机)、无人预定终端等电子设备。终端100中可以安装运行目标应用程序
的客户端,该目标应用程序可以是需要进行滑动验证的应用程序,也可以是提供有滑动验证功能的其他应用程序,本技术对此不作限定。另外,本技术对该目标应用程序的形式不作限定,包括但不限于安装在终端100中的app(application,应用程序)、小程序等,还可以是网页形式。
77.服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器200可以是上述目标应用程序的后台服务器,用于为目标应用程序的客户端提供后台服务。
78.以图3所示的实施环境为例,可以由终端100和服务器200交互配合执行。例如,由服务器200生成图像内容未对齐的第一切割子图10和第二切割子图20并发送给终端100,由终端100执行滑动验证方法,比如终端100中安装运行的目标应用程序的客户端显示图像内容未对齐的第一切割子图10和第二切割子图20;终端100响应于滑动操作,控制第一切割子图10和/或第二切割子图20进行滑动。终端100在图像内容对齐的情况下,确定验证成功,或者,服务器200在图像内容对齐的情况下,确定验证成功,并将验证成功的结果发送至终端100显示。
79.在一些实施例中,图4示出了本技术一个示例性实施例提供的滑动验证方法的实施环境的示意图,实施环境也可以实现成为滑动验证方法的系统架构。该实施环境可以包括:终端100、服务器200和服务器300。该服务器300也可称为第二服务器。
80.服务器300可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器300可以是第三方服务器,用于为服务器200或上述目标应用程序的客户端提供服务。
81.以图4所示的实施环境为例,可以由终端100、服务器200和服务器300交互配合执行。例如,由服务器300生成图像内容未对齐的第一切割子图10和第二切割子图20,服务器200从服务器300获取图像内容未对齐的第一切割子图10和第二切割子图20并发送给终端100,由终端100执行滑动验证方法。
82.此外,本技术技术方案还可以和区块链技术相结合。例如,本技术所公开的滑动处理方法,其中涉及的一些数据可以保存于区块链上。终端100、服务器200、服务器300之间可以通过网络进行通信,如有线或无线网络。
83.图5示出了本技术一个示例性实施例提供的滑动验证方法的流程图,本实施例终端执行为例进行说明,该方法包括:
84.步骤520,显示图像内容未对齐的第一切割子图和第二切割子图;第一切割子图的图像内容和第二切割子图的图像内容,与验证图像被切割线切割出的两块图像内容对应。
85.验证图像是指用于进行滑动验证的图像。图像内容是指图像中包含的元素内容,比如颜色、物体、文字等。采用一条切割线对验证图像进行切割,可以得到该验证图像被切割线切割后的两块图像内容。可选地,切割线可以是直线、曲线、波浪线、锯齿线等,本实施例中切割线为直线。
86.第一切割子图和第二切割子图是基于验证图像被切割线切割出的两块图像内容所得到的图像。可选地,对于同一验证图像,采用不同切割线切割出的两块图像内容不一致。
87.第一切割子图的图像内容和第二切割子图的图像内容未对齐。第一切割子图的图像内容和第二切割子图的图像内容,与验证图像被切割线切割出的两块图像内容对应。
88.可选地,图像内容未对齐可以是指定类型的图像内容未对齐。例如,指定类型为文字,当第一切割图像与第二切割图像的文字未对齐,或被拆分在第一切割图像与第二切割图像中的同一文字未对齐,则确定图像内容未对齐。又例如,指定类型为建筑物,当第一切割图像与第二切割图像的建筑物未对齐,或被拆分在第一切割图像与第二切割图像中的同一建筑物未对齐,则确定图像内容未对齐。
89.可选地,图像内容未对齐还可以是指定类型的图像内容未按照指定方式对齐。例如,指定第一切割图像与第二切割图像中的文字沿水平方向对齐,当第一切割图像与第二切割图像中的文字沿水平方向未对齐则确定图像内容未对齐。
90.可选地,使得第一切割子图的图像内容和第二切割子图的图像内容未对齐的方式,可以是将第一切割子图和/或第二切割子图按照一定方向移动一段距离,还可以是将第一切割子图和/或第二切割子图进行图像处理。该图像处理可以是尺寸缩放、像素填充、图像翻转、图像旋转中的一种或多种的组合。
91.可选地,第一切割子图和第二切割子图可以基于同一验证图像的两块图像内容确定。例如,可以是直接将同一验证图像被切割线切割出的两块图像内容分别作为第一切割图像和第二切割图像。还可以是分别对两块图像内容进行一系列相同或不同的图像处理得到第一切割图像和第二切割图像。该图像处理可以是尺寸缩放、像素填充、图像翻转、图像旋转中的一种或多种的组合。
92.可选地,第一切割子图和第二切割子图还可以基于不同验证图像的两块图像内容确定。例如,第一验证图像被切割线切割出两块图像内容,第二验证图像被同一切割线切割出两块图像内容,可以是直接将第一验证图像的某个图像内容作为第一切割图像,将第二验证图像的某个图像内容作为第二切割图像。还可以是分别对将第一验证图像的某个图像内容进行一系列图像处理得到第一切割图像,将第二验证图像的某个图像内容进行一系列相同或不同的图像处理得到第二切割图像。
93.可选地,终端可以接收服务器发送的图像内容未对齐的第一切割子图和第二切割子图并显示。终端可以基于显示界面的大小,显示第一切割子图和第二切割子图的一部分,具体显示哪一部分可以由终端根据实际技术需要自行确定,或由服务器指定。
94.可选地,终端在显示图像内容未对齐的第一切割子图和第二切割子图时,第一切割子图和第二切割子图不存在重叠区域。
95.作为示例,请参阅图6,切割线为直线,第一切割子图10的图像内容和第二切割子图20的图像内容,与验证图像被切割线切割出的两块图像内容对应。终端显示图像内容未对齐的第一切割子图10和第二切割子图20,且显示时,第一切割子图10和第二切割子图20不存在重叠区域。需要说明,图6显示的第一切割子图10可以是实际的第一切割子图的一部分,显示的第二切割子图20可以是实际的第二切割子图的一部分。
96.步骤540,响应于滑动操作,控制第一切割子图和/或第二切割子图进行滑动;以及
在图像内容对齐的情况下,确定验证成功。
97.滑动操作是针对第一切割子图和/或第二切割子图进行滑动的操作。比如,用户可以直接拖动第一切割子图和/或第二切割子图进行滑动。则终端响应于滑动操作,控制第一切割子图和/或第二切割子图进行滑动。
98.可选地,第一切割子图和第二切割子图中可存在一个可移动子图与一个不可移动子图,具体哪个为可移动子图可以由终端自行确定,或由服务器指定。例如,第一切割子图为可移动子图,第二切割子图为不可移动子图,滑动操作仅可滑动第一切割子图,则终端响应于滑动操作,控制第一切割子图进行滑动。又例如,第一切割子图为不可移动子图,第二切割子图为可移动子图,滑动操作仅可滑动第二切割子图,则终端响应于滑动操作,控制第二切割子图进行滑动。
99.可选地,第一切割子图和第二切割子图均为可移动子图,用户可自行确定针对哪个进行滑动。例如,可以仅滑动第一切割子图,则终端响应于滑动操作,控制第一切割子图进行滑动。或仅滑动第二切割子图,则终端响应于滑动操作,控制第二切割子图进行滑动。还可以先滑动第一切割子图,再滑动第二切割子图,或先滑动第二切割子图,再滑动第一切割子图,则终端响应于滑动操作,控制第一切割子图和第二切割子图进行滑动。
100.可选地,确定第一切割子图的图像内容和第二切割子图的图像内容是否对齐,可以是由终端自行确定。还可以是终端将滑动操作的相关信息发送给第一服务器,由第一服务器确定并返回第一切割子图的图像内容和第二切割子图的图像内容是否对齐的结果。在图像内容对齐的情况下,确定验证成功。
101.作为示例,请参阅图6,第一切割子图10为可移动子图,第二切割子图20为不可移动子图,终端响应于滑动操作,控制第一切割子图10进行滑动;请参阅图7,在图像内容对齐的情况下,确定验证成功。
102.可选地,终端还显示滑块控件,滑块控件用于接收滑动操作,滑块控件包括滑块,滑块控件包括一个或多个。本实施例中,对于滑块控件的形状、大小、位置等不做限制。
103.比如,滑块控件包括一个,通过对滑块控件进行滑动,实现针对第一切割子图或第二切割子图进行滑动。又比如,滑块控件包括两个,通过对第一滑块控件进行滑动,实现针对第一切割子图进行滑动,通过对第二滑块控件进行滑动,实现针对第二切割子图进行滑动。
104.作为示例,请参阅图8,终端还显示一个滑块控件30,滑块控件30位于第一切割子图10和第二切割子图20所在显示区域的下方。通过对滑块控件30进行滑动,实现针对第一切割子图10进行滑动。请参阅图9,在图像内容对齐的情况下,确定验证成功。
105.可选地,在确定验证成功后,终端可自动跳转到下一显示界面。当确定验证失败时,终端可以是跳转到失败界面,还可以是自动刷新,以显示新的图像未对齐的第一切割子图和第二切割子图,还可以是弹出提示信息,以提醒验证失败等。
106.综上所述,本技术实施例中通过显示图像内容未对齐的第一切割子图和第二切割子图,并响应于滑动操作,控制第一切割子图和/或第二切割子图进行滑动,以及在图像内容对齐的情况下,确定验证成功。本技术实施例提供了一种新型的滑动验证码及其滑动验证方式,由于两个切割子图的边界较为隐蔽,很难通过拾色技术预测出两个切割子图的相对位置关系,该滑动验证码的破解难度、破解成本高,可以有效提高滑动验证安全性,还可
以在一定程度上提高用户体验。
107.在一个示例中,图像内容未对齐的第一切割子图和第二切割子图,是将同一验证图像切割后的两块图像内容沿切割线相对于第一方向滑动第一距离后得到。
108.可选地,第一切割子图和第二切割子图是基于同一验证图像的两块图像内容得到。第一方向是指两块图像内容沿切割线相对滑动的方向。相对滑动是指一块图像内容对于另一块图像内容而言是滑动的。第一距离是两块图像内容沿切割线相对滑动的距离,该第一距离为理论值。
109.例如,两块图像内容中图像内容1沿切割线向上滑动,图像内容2不滑动,则在图像内容1沿切割线向上滑动距离1后,可得到第一切割子图和第二切割子图,该距离1即为第一距离,第一方向即为向上。又例如,两块图像内容均沿切割线向上滑动,图像内容1沿切割线向上滑动距离1,图像内容2沿切割线向上滑动距离2,则在两块图像内容沿切割线分别向上滑动完毕后,可得到第一切割子图和第二切割子图,则第一距离基于距离1与距离2的距离差值确定,第一方向即为向上。再例如,两块图像内容均沿切割线不同方向滑动,图像内容1沿切割线向上滑动距离1,图像内容2沿切割线向下滑动距离2,则在两块图像内容沿切割线分别向上或向下滑动完毕后,可得到第一切割子图和第二切割子图,则第一距离基于距离1与距离2的距离差值确定,第一方向基于距离差值的正负并结合两块图像内容滑动分别使用的方向共同确定。
110.可选地,在图像内容未对齐的第一切割子图和第二切割子图,是将同一验证图像切割后的两块图像内容沿切割线相对于第一方向滑动第一距离后得到的情况下,若要将第一切割子图的图像内容和第二切割子图的图像内容对齐,则可按照与第一方向相反的方向进行滑动。
111.在本技术的一个可能的实现方式中,如图10所示,在图像内容对齐的情况下,确定验证成功,包括:
112.步骤542,在第一切割子图和/或第二切割子图沿切割线相对于第二方向滑动第二距离,且第二距离和第一距离之差小于阈值的情况下,确定验证成功;其中,第一方向和第二方向相反。
113.第二方向是指第一切割子图与第二切割子图沿切割线相对滑动的方向。第二距离是第一切割子图与第二切割子图沿切割线相对滑动的距离,该第二距离为实际值。其中,第二方向与第一方向相反。
114.可选地,阈值根据实际技术需要确定,可以是设定值,还可以基于第一距离这一理论值确定。比如,阈值可以是第一距离的
±
1%。在第一切割子图和/或第二切割子图沿切割线相对于第二方向滑动第二距离,且第二距离和第一距离之差小于阈值的情况下,确定验证成功。
115.可选地,确定第二距离和第一距离之差是否小于阈值,可以是终端自行确定还可以是在滑动操作后,将与滑动操作的相关信息发送给第一服务器,由第一服务器确定并返回第二距离和第一距离之差是否小于阈值的结果。
116.可选地,滑动操作的相关信息可以是滑动距离信息。如图11所示,由终端执行的该方法还包括:
117.步骤544,向第一服务器发送滑动距离信息,以便第一服务器基于滑动距离信息验
证第二距离和第一距离之差是否小于阈值。
118.可选地,滑动距离信息可以为第二距离,则第一服务器可直接验证第二距离和第一距离之差是否小于阈值,该阈值为滑动距离信息的该类型对应的阈值,也可称为第一阈值。
119.可选地,滑动距离信息为滑动操作的滑动距离,即基于滑块控件进行滑动的滑动距离,该滑动距离与第二距离的大小可以不同。则第一服务器验证滑动距离与设定距离之差是否小于阈值,该阈值为滑动距离信息的该类型对应的阈值,也可称为第二阈值。其中,设定距离基于第一距离换算得到。一个可能的实现方式中,在滑动操作是沿水平方向滑动时,设定距离是第一距离的横轴分量值。在滑动操作时沿纵轴方向滑动时,设定距离是第一距离的纵轴分量值。
120.需要说明,滑动操作时,终端基于滑动操作控制第一切割子图和/或第二切割子图沿横轴和沿纵轴同时移动,其中,沿横轴移动的距离与沿纵轴移动的距离呈比例,该比例可以是切割线的斜率,从而在视觉上,第一切割子图和/或第二切割子图是沿切割线进行移动。
121.本实施例中,通过不同类型的滑动距离信息,均可以确定出第一距离与第二距离是否小于阈值,能够提高确定结果的准确性
122.在本技术的一个示例中,如图12所示,上述响应于滑动操作,控制第一切割子图和/或第二切割子图进行滑动,还可以包括:
123.步骤546,响应于第一切割子图上触发的第一滑动操作,控制第一切割子图跟随第一滑动操作的滑动轨迹进行滑动;
124.或,
125.步骤548,响应于第二切割子图上触发的第二滑动操作,控制第二切割子图跟随第二滑动操作的滑动轨迹进行滑动。
126.可选地,将在第一切割子图上触发的滑动操作称为第一滑动操作,第一滑动操作的滑动轨迹可以是任意可能的轨迹,比如直线、曲线、沿任意方向滑动任意角度的轨迹等,在此不做限制。终端则响应于第一切割子图上触发的第一滑动操作,控制第一切割子图跟随第一滑动操作的滑动轨迹进行滑动。
127.可选地,将在第二切割子图上触发的滑动操作称为第二滑动操作,第二滑动操作的滑动轨迹可以是任意可能的轨迹,比如直线、曲线、沿任意方向滑动任意角度的轨迹等,在此不做限制。第二滑动轨迹与第一滑动轨迹是各自独立的。终端则响应于第二切割子图上触发的第二滑动操作,控制第二切割子图跟随第二滑动操作的滑动轨迹进行滑动。
128.本实施例中,通过响应于在不同切割子图上的不同滑动操作,可以对切割子图进行针对性控制,可以有效提高终端控制的精准度。
129.图13示出了本技术一个示例性实施例提供的滑动验证方法的流程图,本实施例以第一服务器执行为例进行说明,该方法包括:
130.步骤1020,向终端发送图像内容未对齐的第一切割子图和第二切割子图;第一切割子图的图像内容和第二切割子图的图像内容,与验证图像被切割线切割出的两块图像内容对应。
131.第一切割子图的图像内容和第二切割子图的图像内容未对齐。第一切割子图的图
像内容和第二切割子图的图像内容,与验证图像被切割线切割出的两块图像内容对应。
132.可选地,图像内容未对齐的第一切割子图和第二切割子图可以是由第一服务器生成并发送给终端,或,图像内容未对齐的第一切割子图和第二切割子图由第二服务器生成,第一服务器从第二服务器中获取图像内容未对齐的第一切割子图和第二切割子图并发送给终端。
133.步骤1040,接收终端发送的滑动距离信息,滑动距离信息与第一切割子图和/或第二切割子图相对滑动的距离有关。
134.可选地,滑动距离信息是由终端发送的与第一切割子图和/或第二切割子图相对滑动的距离有关的信息。终端向第一服务器发送滑动距离信息,第一服务器接收终端发送的滑动距离信息,以便基于滑动距离信息确定第一切割子图的图像内容与第二切割子图的图像内容是否对齐。
135.步骤1060,在基于滑动距离信息确定图像内容对齐的情况下,确定验证成功。
136.可选地,第一服务器在基于滑动距离信息确定图像内容对齐的情况下,确定验证成功。第一服务器可以向终端返回验证成功的结果,以便终端执行后续操作。
137.综上所述,本技术实施例的滑动验证码及其滑动验证方式的破解难度、破解成本高,可以有效提高滑动验证安全性,还可以在一定程度上提高用户体验。
138.在一个可能的实现方式中,滑动距离信息为第二距离,第二距离为第一切割子图和/或第二切割子图沿切割线相对滑动的距离。如图14所示,上述在基于滑动距离信息确定图像内容对齐的情况下,确定验证成功,还可以包括:
139.步骤1062,在第一距离与第二距离之差小于第一阈值的情况下,确定验证成功;其中,第一距离为两块图像内容沿切割线相对滑动的距离。
140.可选地,图像内容未对齐的第一切割子图和第二切割子图,是将同一验证图像切割后的两块图像内容沿切割线相对滑动第一距离后得到,即第一距离为两块图像内容沿切割线相对滑动的距离。在滑动距离信息为第二距离的情况下,第一服务器可以直接验证第一距离与第二距离之差是否小于第一阈值,以便确定第一切割子图的图像内容和第二切割子图的图像内容是否对齐。
141.可选地,在第一距离与第二距离之差小于第一阈值的情况下,即确定第一切割子图的图像内容和第二切割子图的图像内容对齐,确定验证成功。
142.作为示例,请参阅图15,滑动距离信息为第二距离ab,第二距离ab为第一切割子图10和/或第二切割子图20沿切割线相对滑动的距离。在第一距离与第二距离ab之差小于第一阈值的情况下,即确定第一切割子图10的图像内容和第二切割子图20的图像内容对齐,确定验证成功。
143.在另一个可能的实现方式中,终端还显示了滑块控件,滑块控件包括滑块。通过滑动该滑块控件实现滑动操作,滑动操作为针对第一切割子图和/或第二切割子图进行滑动的操作。滑动距离信息为滑动操作的滑动距离,该滑动距离与第二距离的大小可以不同。如图14所示,上述在基于滑动距离信息确定图像内容对齐的情况下,确定验证成功,还可以包括:
144.步骤1064,在滑动距离与设定距离之差小于第二阈值的情况下,确定验证成功;其中,设定距离基于第一距离换算得到;第一距离为两块图像内容沿切割线相对滑动的距离。
145.可选地,图像内容未对齐的第一切割子图和第二切割子图,是将同一验证图像切割后的两块图像内容沿切割线相对滑动第一距离后得到,即第一距离为两块图像内容沿切割线相对滑动的距离。在滑动距离信息为滑动操作的滑动距离的情况下,第一服务器可以验证滑动距离与设定距离之差是否小于第二阈值,以便确定第一切割子图的图像内容和第二切割子图的图像内容是否对齐。其中,设定距离基于第一距离换算得到。一个可能的实现方式中,在滑动操作是沿水平方向滑动时,设定距离是第一距离的横轴分量值。在滑动操作时沿纵轴方向滑动时,设定距离是第一距离的纵轴分量值。
146.可选地,在滑动距离与设定距离之差小于第二阈值的情况下,即确定第一切割子图的图像内容和第二切割子图的图像内容对齐,确定验证成功。
147.作为示例,请参阅图15,终端还显示了滑块控件30,滑动距离信息为滑动操作的滑动距离cd,该滑动距离cd与第二距离ab的大小不同。在滑动距离cd与设定距离之差小于第二阈值的情况下,即确定第一切割子图10的图像内容和第二切割子图20的图像内容对齐,确定验证成功;其中,设定距离基于第一距离换算得到,设定距离可以是第一距离的横轴分量值。
148.本实施例中,通过不同类型的滑动距离信息,均可以确定出第一距离与第二距离是否小于阈值,能够提高确定结果的准确性。
149.在一些实施例中,如图16所示,第一服务器执行的该方法还包括:
150.步骤1066,向终端发送验证成功的结果。
151.可选地,第一服务器在确定验证成功后,向终端发送验证成功的结果,以便终端执行后续操作。
152.本实施例中,通过直接向终端发送验证成功的结果,有利于终端执行后续操作,还可以提高终端的数据处理效率,还可以在一定程度上降低终端的成本。
153.图17示出了本技术一个示例性实施例提供的滑动验证方法的流程图,本实施例以第二服务器执行为例进行说明,该第二服务器与第一服务器可以是同一服务器,该第二服务器还可以是第三方服务器,该方法包括:
154.步骤1220,获取验证图像。
155.验证图像是指用于进行滑动验证的图像。可选地,可以是从公开的数据集中获取图像作为验证图像,还可以是获取指定类型或指定图像内容的图像作为验证图像。验证图像的形状可以是矩形、正方形、圆形等,在此不做限制。
156.步骤1240,基于切割线对验证图像切割出的两块图像内容,得到第一切割子图和第二切割子图。
157.采用一条切割线对验证图像进行切割,可以得到该验证图像被切割线切割后的两块图像内容。第一切割子图和第二切割子图是基于验证图像被切割线切割出的两块图像内容所得到的图像。本实施例中,切割线为直线。
158.可选地,对于同一验证图像,采用不同切割线切割出的两块图像内容不一致。第一切割子图和第二切割子图可以基于同一验证图像的两块图像内容确定,还可以基于不同验证图像的两块图像内容确定。
159.步骤1260,生成图像内容未对齐的第一切割子图和第二切割子图。
160.可选地,第一切割子图的图像内容和第二切割子图的图像内容未对齐。在得到第
一切割子图和第二切割子图后,可以是将第一切割子图和/或第二切割子图按照一定方向移动一段距离,以使得第一切割子图的图像内容与第二切割子图的图像内容未对齐。
161.综上所述,本技术实施例提供的方法,通过在第二服务器上生成生成图像内容未对齐的第一切割子图和第二切割子图,可以提高图像生成的效率,而且,生成的滑动验证码的破解难度高,可以有效提高后续滑动验证的安全性。
162.在一个示例中,图18示出了本技术一个示例性实施例提供的图像生成方法的流程图,基于切割线对验证图像切割出的两块图像内容,得到第一切割子图和第二切割子图,包括:
163.步骤1242,确定本次使用的切割线。
164.可选地,采用切割线对验证图像进行切割,每次切割使用的切割线可以不同,可以先确定本次使用的切割线。其中,切割线的不同可以是切割线的参数不同,比如切割线的斜率、截距不同。对于同一验证图像,采用不同的切割线进行切割,切割出的两块图像内容不一致。
165.步骤1246,基于切割线对验证图像切割出的两块图像内容,得到第一切割子图和第二切割子图。
166.可选地,采用本次使用的切割线对验证图像进行切割,基于切割线对验证图像切割出的两块图像内容,得到第一切割子图和第二切割子图。
167.本实施例中,通过确定本次使用的切割线,可以生成任意角度、非对称的第一切割子图和第二切割子图,最终得到新型的滑动验证码,提高滑动验证码的破解难度和破解成本。
168.在一些实施例中,为了方便确定切割线的位置,以便采用切割线对验证图像进行切割,在确定本次使用的切割线之后,还可以建立验证图像坐标系。
169.比如,以验证图像的任一个参考点作为原点,参考点可以是顶点或图像内任一点。以该原点的正下方为纵轴正方向,以该原点的正右方为横轴正方向,建立验证图像坐标系。
170.本实施例中,通过建立验证图像坐标系,有利于各个位置的确定,可以提高数据处理的效率。
171.在一个可能的实现方式中,如图19所示,确定本次使用的切割线,包括:
172.步骤1243,在设定斜率范围内随机选择一个斜率,确定为切割线的斜率。
173.可选地,斜率可用于表征切割线的倾斜角,设定斜率范围可以根据实际技术需要进行设置,本实施例中的设定斜率范围是(-1,1),用以涵盖一个象限的所有可能的切割线的斜率。在确定本次使用的切割线时,可在设定斜率范围内随机选择一个斜率,确定为切割线的斜率。
174.可选地,将切割线的斜率表示为a,则-1<a<1。
175.步骤1244,基于斜率与验证图像的尺寸,在设定截距范围内确定切割线的截距。
176.可选地,截距用于使得切割出的两块图像内容不会过大或过小,两块图像内容不至于相差过大,以免造成滑动验证不准确。设定截距范围可以根据实际技术需要进行设置,本实施例是基于斜率与验证图像的尺寸,在设定截距范围内确定切割线的截距。
177.可选地,将切割线的截距表示为b,假设验证图像是矩形,验证图像的宽为x/2,高为y/2,基于斜率a以及验证图像的尺寸,设定0.125<b/y<0.375,-a/2<b/x<1 a,确定出
截距b。
178.本实施例中,通过随机取值确定出不同的切割线,可以生成任意角度、非对称的第一切割子图和第二切割子图,最终得到新型的滑动验证码,提高滑动验证码的破解难度和破解成本。
179.图20示出了本技术一个示例性实施例提供的图像生成方法的流程图,上述生成图像内容未对齐的第一切割子图和第二切割子图,可以包括:
180.步骤1262,将两块图像内容沿切割线相对滑动第一距离,得到图像内容未对齐的第一切割子图和第二切割子图。
181.可选地,第一距离是两块图像内容沿切割线相对滑动的距离,该第一距离为理论值,可以是随机设置的距离。将两块图像内容沿切割线相对滑动第一距离,得到图像内容未对齐的第一切割子图和第二切割子图。
182.可选地,该第一距离可以基于验证图像的尺寸和切割线的斜率、截距设置。例如,基于验证图像的尺寸和切割线的斜率,在设定范围内随机选取纵轴比例值,基于纵轴比例值和切割线的斜率确定横轴比例值,基于横轴比例值、纵轴比例值、切割线的斜率和截距计算出第一距离。
183.可选地,假设验证图像是矩形,验证图像的宽为x/2,高为y/2,将纵轴比例值表示为dy,设置0<dy/x<-a/2,将横轴比例值表示为dx,设置dx=dy*(-a),第一距离表示为r,计算公式为:
[0184][0185]
本实施例中,通过确定生成图像内容未对齐的第一切割子图和第二切割子图,最终得到新型的滑动验证码,提高滑动验证码的破解难度和破解成本。
[0186]
图21示出了本技术一个示例性实施例提供的图像生成方法的流程图,由第二服务器执行的该方法还包括:
[0187]
步骤1210,获取原始图像。
[0188]
可选地,验证图像可以来源于原始图像,则验证图像是原始图像的一部分。原始图像可从公开的数据集中获得,可以是指定类型或指定图像内容的图像。
[0189]
步骤1212,基于原始图像中的参考点对原始图像进行截取,得到验证图像;其中,验证图像的尺寸小于或等于原始图像的尺寸。
[0190]
可选地,原始图像中的参考点可以为顶点或图像内任一点。基于原始图像中的相同的参考点,按照不同尺寸大小对原始图像进行截取,可得到不同的验证图像。基于原始图像中的不同的参考点,按照相同尺寸大小对原始图像进行截取,也可得到不同的验证图像。
[0191]
可选地,验证图像的尺寸小于或等于原始图像的尺寸。在验证图像的尺寸等于原始图像的尺寸的情况下,参考点可以是原始图像的任一顶点。在验证图像的尺寸小于原始图像的尺寸的情况下,参考点可以是原始图像内任一点。
[0192]
本实施例中,通过对原始图像进行截取得到验证图像,可以选择性保留原始图像中的重要的图像内容,提高验证图像的辨识度,有利于生成滑动验证码。
[0193]
在一些实施例中,为了方便对原始图像进行截取,在获取原始图像后还可以建立
原始图像坐标系。
[0194]
比如,以原始图像的任一个参考点作为原点,参考点可以是顶点或图像内任一点。以该原点的正下方为纵轴正方向,以该原点的正右方为横轴正方向,建立原始图像坐标系。
[0195]
本实施例中,通过建立原始图像坐标系,有利于各个位置的确定,可以提高数据处理的效率。
[0196]
在一个示例中,图22示出了本技术一个示例性实施例提供的图像生成方法的流程图,由第二服务器执行的该方法还包括:
[0197]
步骤1248,基于原始图像中与验证图像相邻的图像内容,将第一切割子图的图像内容和/或第二切割子图的图像内容进行扩充;
[0198]
或,
[0199]
步骤1250,基于第一切割子图和/或第二切割子图的镜像图像内容,将第一切割子图的图像内容和/或第二切割子图的图像内容进行扩充。
[0200]
可选地,针对第一切割子图的图像内容和/或第二切割子图的图像内容进行扩充,可以是仅扩充第一切割子图的图像内容,或仅扩充第二切割子图的图像内容,还可以是同时扩充第一切割子图的图像内容和第二切割子图的图像内容。
[0201]
可选地,扩充包括尺寸扩展和像素填充。在可能的实现方式中,可以先将第一切割子图和/或第二切割子图进行尺寸扩展,再将扩展部分进行像素填充,以实现图像内容的扩充。
[0202]
需要说明,尺寸扩展时,第一切割子图与第二切割子图的原有的图像内容的大小不变,通过将第一切割子图与第二切割子图的边缘向外扩展实现尺寸扩展。
[0203]
可选地,将第一切割子图和/或第二切割子图进行尺寸扩展,可以是将第一切割子图和/或第二切割子图的上边向上扩展、下边向下扩展、左边向左扩展、右边向右扩展中的一种或多种的组合。
[0204]
可选地,将第一切割子图和/或第二切割子图进行尺寸扩展,扩展多少可以是预设值,还可以基于第一切割子图和/或第二切割子图的原始的图像内容的尺寸确定等,本实施例对此不作限制。
[0205]
可选地,基于原始图像中与验证图像相邻的图像内容,将第一切割子图的图像内容和/或第二切割子图的图像内容进行扩充。比如,在将第一切割子图和/或第二切割子图进行尺寸扩展后,若扩展部分并未超出原始图像的边缘,则可基于原始图像中与验证图像相邻的图像内容,将扩展部分进行像素填充。
[0206]
可选地,基于第一切割子图和/或第二切割子图的镜像图像内容,将第一切割子图的图像内容和/或第二切割子图的图像内容进行扩充。比如,在将第一切割子图和/或第二切割子图进行尺寸扩展后,若扩展部分超出了原始图像的边缘,则可基于第一切割子图和/或第二切割子图的镜像图像内容,将扩展部分进行像素填充。
[0207]
示例性的,镜像图像内容是指镜像图像的图像内容,以第一切割子图为例,第一切割子图的镜像图像可以是以扩展部分所超出的边缘所在直线作为指定轴,将第一切割子图进行了镜像翻转后得到。
[0208]
采用上述扩充方式,可以尽量使得扩充后的图像内容的像素点是连续的,可以在一定程度上提高用户的视觉体验。
[0209]
需要说明,将第一切割子图的图像内容和/或第二切割子图的图像内容进行扩充,可以是在基于切割线对验证图像切割出的两块图像内容,得到第一切割子图和第二切割子图之后,在生成图像内容未对齐的第一切割子图和第二切割子图之前执行。还可以是在生成图像内容未对齐的第一切割子图和第二切割子图之后执行,本实施例对此不做限制。
[0210]
作为示例,请参阅图23-30,图像生成方法的具体步骤包括:
[0211]
1.准备一组矩形图。
[0212]
2.随机抽取一个矩形图m,假设矩形图m的宽为x,高为y。
[0213]
示例性的,请参阅图23,矩形图m的宽x=400,高y=400。
[0214]
3.随机选取切割线的斜率a(-1<a<1),随机选取切割线的截距b(0.125<b/y<0.375,-a/2<b/x<1 a),随机选取纵轴比例值dy(0<dy/x<-a/2),横轴比例值dx=dy*(-a),第一距离r的计算公式为:
[0215][0216]
示例性的,选取a=-0.48,b=96,dy=31,计算dx=dy*(-a)≈65,r≈149.83。
[0217]
4.以矩形图m的左上顶点为原点,正下方为y轴正方向,正右方为x轴正方向,随机选取点p0(x0,y0)(x/4<x0<x/2,y/4<y0<y/2)。
[0218]
示例性的,请参阅图24,选取p0(110,123)。
[0219]
5.以p0为左上顶点,宽x/2,高y/2,截取得到验证图像m'。
[0220]
示例性的,请参阅图24,以p0为左上顶点,宽200(x/2),高200(y/2),截取得到验证图像m'。
[0221]
6.以p0为原点,正下方为y轴正方向,正右方为x轴正方向,作切割线y=a*x b,将验证图像m'分割为图像内容ma(任意p∈ma,yp<a*xp b)和图像内容mb(任意p∈mb,yp>a*xp b)。
[0222]
示例性的,请参阅图25,以p0为原点,正下方为y轴正方向,正右方为x轴正方向,作直线y=-0.48x 96将验证图像m'分割为两块图像内容。
[0223]
7.取形状大小与图像内容mb相同的空白图片与图像内容ma组成m1,取形状大小与图像内容ma相同的空白图片与图像内容mb组成m2,使得m1、m2宽高与验证图像m'相同。
[0224]
示例性的,请参阅图26和图27,将分割后的两块图像内容分别用空白补全,得到宽、高相同的m1、m2,宽200(x/2),高200(y/2)。
[0225]
8.将m1向左平移x/2,向下平移b-dy,得到m1'。
[0226]
需要说明,该步骤在图中未示出。
[0227]
9.将m1'左边向左扩展x/2,右边向右扩展x/2,上边向上扩展b,下边向下扩展y/2,得到子图a(宽1.5x,高y,且任意p∈a,yp<a*xp b);将m2左边向左扩展x/2,下边和右边可以左边为基准进行扩展得到子图b(宽x,高y/2,且任意p∈b,yp>a*xp b);扩展后进行像素填充。
[0228]
示例性的,请参阅图28,将m1'左边向左扩展200(x/2),右边向右扩展200(x/2),上边向上扩展96,下边向下扩展200(y/2),像素填充后得到子图a;请参阅图29,将m2左边向左扩展200(x/2),像素填充后得到子图b。
[0229]
10.基于子图a与子图b生成图像内容未对齐的子图a和子图b。
[0230]
示例性的,请参阅图30,将子图a与子图b进行相对滑动以使得右上顶点对齐。图30中的虚线区域即为在终端显示的用户可见区域。
[0231]
本实施例中,通过对第一切割子图的图像内容和/或第二切割子图的图像内容进行扩充,在终端进行滑动验证的过程中,可以跟随滑动操作显示出更多的图像内容,避免缺失图像内容,有利于提高用户体验。
[0232]
在一些实施例中,如图31所示,该方法还包括:
[0233]
步骤1280,向第一服务器发送图像内容未对齐的第一切割子图和第二切割子图。
[0234]
可选地,当第二服务器为第三方服务器,用于生成图像内容未对齐的第一切割子图和第二切割子图,则第二服务器还可以向第一服务器发送图像内容未对齐的第一切割子图和第二切割子图,以便第一服务器获取并进行其他处理。
[0235]
本实施例中,通过在第二服务器上生成图像内容未对齐的第一切割子图和第二切割子图,并发送给第一服务器,可以有效提高数据处理效率。
[0236]
下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
[0237]
图32示出了本技术一个示例性实施例提供的滑动验证装置的结构框图。该滑动验证装置包括:
[0238]
显示模块3210,用于显示图像内容未对齐的第一切割子图和第二切割子图;所述第一切割子图的图像内容和所述第二切割子图的图像内容,与验证图像被切割线切割出的两块图像内容对应。
[0239]
处理模块3220,用于响应于滑动操作,控制所述第一切割子图和/或所述第二切割子图进行滑动;以及在所述图像内容对齐的情况下,确定验证成功。
[0240]
在一个实施例中,所述处理模块3220,用于响应于滑动操作,控制所述第一切割子图和/或所述第二切割子图沿所述切割线滑动。
[0241]
在一个实施例中,所述图像内容未对齐的第一切割子图和第二切割子图,是将同一验证图像切割后的两块图像内容沿所述切割线相对于第一方向滑动第一距离后得到;
[0242]
所述处理模块3220,用于在所述第一切割子图和/或所述第二切割子图沿所述切割线相对于第二方向滑动第二距离,且所述第二距离和所述第一距离之差小于阈值的情况下,确定验证成功;其中,所述第一方向和所述第二方向相反。
[0243]
在一个实施例中,所述装置还包括发送模块;所述发送模块,用于向第一服务器发送滑动距离信息,以便所述第一服务器基于所述滑动距离信息验证所述第二距离和所述第一距离之差是否小于所述阈值。
[0244]
在一个实施例中,所述滑动距离信息为第二距离;或,所述滑动距离信息为所述滑动操作的滑动距离。
[0245]
在一个实施例中,所述显示模块3210,用于显示滑块控件,所述滑块控件用于接收所述滑动操作。
[0246]
在一个实施例中,所述处理模块3220,用于响应于所述第一切割子图上触发的第一滑动操作,控制所述第一切割子图跟随所述第一滑动操作的滑动轨迹进行滑动。
[0247]
在一个实施例中,所述处理模块3220,用于响应于所述第二切割子图上触发的第
二滑动操作,控制所述第二切割子图跟随所述第二滑动操作的滑动轨迹进行滑动。
[0248]
图33示出了本技术一个示例性实施例提供的滑动验证装置的结构框图。该滑动验证装置包括:
[0249]
发送模块3330,用于向终端发送图像内容未对齐的第一切割子图和第二切割子图;所述第一切割子图的图像内容和所述第二切割子图的图像内容,与验证图像被切割线切割出的两块图像内容对应。
[0250]
接收模块3340,用于接收所述终端发送的滑动距离信息,所述滑动距离信息与所述第一切割子图和/或所述第二切割子图相对滑动的距离有关。
[0251]
验证模块3350,用于在基于所述滑动距离信息确定所述图像内容对齐的情况下,确定验证成功。
[0252]
在一个实施例中,所述滑动距离信息为第二距离,所述第二距离为所述第一切割子图和/或所述第二切割子图沿所述切割线相对滑动的距离;
[0253]
所述验证模块3350,用于在第一距离与所述第二距离之差小于第一阈值的情况下,确定验证成功;其中,所述第一距离为所述两块图像内容沿所述切割线相对滑动的距离。
[0254]
在一个实施例中,所述滑动距离信息为滑动操作的滑动距离;所述滑动操作为针对所述第一切割子图和/或所述第二切割子图进行滑动的操作;
[0255]
所述验证模块3350,用于在所述滑动距离与设定距离之差小于第二阈值的情况下,确定验证成功;其中,所述设定距离基于第一距离换算得到;所述第一距离为所述两块图像内容沿所述切割线相对滑动的距离。
[0256]
在一个实施例中,所述发送模块3330,用于向所述终端发送所述验证成功的结果。
[0257]
图34示出了本技术一个示例性实施例提供的图像生成装置的结构框图。该图像生成装置包括:
[0258]
获取模块3460,用于获取验证图像。
[0259]
切割模块3470,用于基于切割线对所述验证图像切割出的两块图像内容,得到第一切割子图和第二切割子图。
[0260]
生成模块3480,用于生成图像内容未对齐的第一切割子图和第二切割子图。
[0261]
在一个实施例中,所述切割模块3470,包括:
[0262]
切割线确定单元,用于确定本次使用的切割线。
[0263]
切割单元,基于所述切割线对所述验证图像切割出的两块图像内容,得到第一切割子图和第二切割子图。
[0264]
在一个实施例中,切割线确定单元,包括:
[0265]
斜率确定单元,用于在设定斜率范围内随机选择一个斜率,确定为所述切割线的斜率。
[0266]
截距确定单元,用于基于所述斜率与所述验证图像的尺寸,在设定截距范围内确定所述切割线的截距。
[0267]
在一个实施例中,所述生成模块3480,用于将所述两块图像内容沿所述切割线相对滑动第一距离,得到图像内容未对齐的第一切割子图和第二切割子图。
[0268]
在一个实施例中,所述装置还包括截取模块;
[0269]
所述获取模块3460,用于获取原始图像。
[0270]
所述截取模块,用于基于所述原始图像中的参考点对所述原始图像进行截取,得到验证图像;其中,所述验证图像的尺寸小于或等于所述原始图像的尺寸。
[0271]
在一个实施例中,所述装置还包括扩充模块;
[0272]
所述扩充模块,用于基于所述原始图像中与所述验证图像相邻的图像内容,将所述第一切割子图的图像内容和/或所述第二切割子图的图像内容进行扩充;
[0273]
或,
[0274]
所述扩充模块,用于基于所述第一切割子图和/或所述第二切割子图的镜像图像内容,将所述第一切割子图的图像内容和/或所述第二切割子图的图像内容进行扩充。
[0275]
在一个实施例中,所述装置还包括发送模块;
[0276]
所述发送模块,用于向第一服务器发送所述图像内容未对齐的第一切割子图和第二切割子图。
[0277]
图35示出了本技术一个示例性实施例提供的终端3500的结构框图。该终端3500可以是便携式移动终端,比如:智能手机、平板电脑、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端3500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0278]
通常,终端3500包括有:处理器3501和存储器3502。
[0279]
处理器3501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器3501可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器3501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器3501可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器3501还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0280]
存储器3502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器3502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器3502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器3501所执行以实现本技术方法实施例提供的滑动验证方法。
[0281]
在一些实施例中,终端3500还可选包括有:外围设备接口3503和至少一个外围设备。处理器3501、存储器3502和外围设备接口3503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口3503相连。具体地,外围设备包括:射频电路3504、显示屏3505、摄像头组件3506、音频电路3507、定位组件3508和电源3509中的至少一种。
[0282]
外围设备接口3503可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器3501和存储器3502。在一些实施例中,处理器3501、存储器3502和外围设备接口3503被集成在同一芯片或电路板上;在一些其他实施例中,处理器3501、存储器3502和外围设备接口3503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0283]
射频电路3504用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路3504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路3504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路3504包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路3504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路3504还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
[0284]
显示屏3505用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏3505是触摸显示屏时,显示屏3505还具有采集在显示屏3505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器3501进行处理。此时,显示屏3505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏3505可以为一个,设置在终端3500的前面板;在另一些实施例中,显示屏3505可以为至少两个,分别设置在终端3500的不同表面或呈折叠设计;在另一些实施例中,显示屏3505可以是柔性显示屏,设置在终端3500的弯曲表面上或折叠面上。甚至,显示屏3505还可以设置成非矩形的不规则图形,也即异形屏。显示屏3505可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
[0285]
摄像头组件3506用于采集图像或视频。可选地,摄像头组件3506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件3506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0286]
音频电路3507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器3501进行处理,或者输入至射频电路3504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端3500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器3501或射频电路3504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路3507还可
以包括耳机插孔。
[0287]
定位组件3508用于定位终端3500的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件3508可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
[0288]
电源3509用于为终端3500中的各个组件进行供电。电源3509可以是交流电、直流电、一次性电池或可充电电池。当电源3509包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
[0289]
在一些实施例中,终端3500还包括有一个或多个传感器3510。该一个或多个传感器3510包括但不限于:加速度传感器3511、陀螺仪传感器3512、压力传感器3513、指纹传感器3514、光学传感器3515以及接近传感器3516。
[0290]
加速度传感器3511可以检测以终端3500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器3511可以用于检测重力加速度在三个坐标轴上的分量。处理器3501可以根据加速度传感器3511采集的重力加速度信号,控制显示屏3505以横向视图或纵向视图进行用户界面的显示。加速度传感器3511还可以用于游戏或者用户的运动数据的采集。
[0291]
陀螺仪传感器3512可以检测终端3500的机体方向及转动角度,陀螺仪传感器3512可以与加速度传感器3511协同采集用户对终端3500的3d动作。处理器3501根据陀螺仪传感器3512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0292]
压力传感器3513可以设置在终端3500的侧边框和/或显示屏3505的下层。当压力传感器3513设置在终端3500的侧边框时,可以检测用户对终端3500的握持信号,由处理器3501根据压力传感器3513采集的握持信号进行左右手识别或快捷操作。当压力传感器3513设置在显示屏3505的下层时,由处理器3501根据用户对显示屏3505的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0293]
指纹传感器3514用于采集用户的指纹,由处理器3501根据指纹传感器3514采集到的指纹识别用户的身份,或者,由指纹传感器3514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器3501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器3514可以被设置在终端3500的正面、背面或侧面。当终端3500上设置有物理按键或厂商logo时,指纹传感器3514可以与物理按键或厂商logo集成在一起。
[0294]
光学传感器3515用于采集环境光强度。在一个实施例中,处理器3501可以根据光学传感器3515采集的环境光强度,控制显示屏3505的显示亮度。具体地,当环境光强度较高时,调高显示屏3505的显示亮度;当环境光强度较低时,调低显示屏3505的显示亮度。在另一个实施例中,处理器3501还可以根据光学传感器3515采集的环境光强度,动态调整摄像头组件3506的拍摄参数。
[0295]
接近传感器3516,也称距离传感器,通常设置在终端3500的前面板。接近传感器
3516用于采集用户与终端3500的正面之间的距离。在一个实施例中,当接近传感器3516检测到用户与终端3500的正面之间的距离逐渐变小时,由处理器3501控制显示屏3505从亮屏状态切换为息屏状态;当接近传感器3516检测到用户与终端3500的正面之间的距离逐渐变大时,由处理器3501控制显示屏3505从息屏状态切换为亮屏状态。
[0296]
本领域技术人员可以理解,图35中示出的结构并不构成对终端3500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0297]
本技术实施例还提供了一种服务器,该服务器包括:处理器和存储器,存储器中存储有计算机程序;所述处理器,用于执行所述存储器中的所述计算机程序以实现上述各方法实施例提供的滑动验证方法和/或图像生成方法。
[0298]
示例地,图36是本技术一个示例性实施例提供的服务器的结构框图。
[0299]
通常,服务器3600包括有:处理器3601和存储器3602。
[0300]
处理器3601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器3601可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器3601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(central processing unit,cpu);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器3601可以在集成有图像处理器(graphics processing unit,gpu),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器3601还可以包括人工智能(artificial intelligence,ai)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0301]
存储器3602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器3602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器3602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器3601所执行以实现本技术中方法实施例提供的滑动验证方法和/或图像生成方法。
[0302]
在一些实施例中,服务器3600还可选包括有:输入接口3603和输出接口3604。处理器3601、存储器3602和输入接口3603、输出接口3604之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与输入接口3603、输出接口3604相连。输入接口3603、输出接口3604可被用于将输入/输出(input/output,i/o)相关的至少一个外围设备连接到处理器3601和存储器3602。在一些实施例中,处理器3601、存储器3602和输入接口3603、输出接口3604被集成在同一芯片或电路板上;在一些其他实施例中,处理器3601、存储器3602和输入接口3603、输出接口3604中的任意一个或两个可以在单独的芯片或电路板上实现,本技术实施例对此不加以限定。
[0303]
本领域技术人员可以理解,上述示出的结构并不构成对服务器3600的限定,服务器3600可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0304]
在示例性实施例中,还提供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片在终端或服务器上运行时,用于实现上述滑动验证方法和/或图像生成方法。
[0305]
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器从计算机可读存储介质读取并执行该计算机指令,以实现上述滑动验证方法和/或图像生成方法。
[0306]
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有可执行指令,所述可执行指令由处理器加载并执行以实现上述各方法实施例提供的滑动验证方法和/或图像生成方法。
[0307]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0308]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本技术实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机可读存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0309]
以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献