软键盘的按键识别方法、装置及存储介质与流程

文档序号:19942632发布日期:2020-02-14 23:22阅读:240来源:国知局
软键盘的按键识别方法、装置及存储介质与流程

本申请涉及数据处理领域,特别涉及一种软键盘的按键识别方法、装置及存储介质。



背景技术:

在客户端的自动化测试过程中,若需要输入密码或者验证码,则客户端的界面中会显示有软键盘,测试人员可以根据待输入的字符,点击对应的按键,以完成密码或者验证码的输入。

但是,由于在自动化测试过程中,需要人工完成密码或验证码的输入,导致自动化测试的效率较低。



技术实现要素:

本申请提供了一种软键盘的按键识别方法、装置及存储介质,可以解决相关技术的自动化测试的效率较低的问题。所述技术方案如下:

一方面,提供了一种软键盘的按键识别方法,所述方法包括:

从屏幕显示图像中获取软键盘图像,所述软键盘图像为所述软键盘所在区域的图像;

对所述软键盘图像进行分割,得到多个按键图片,每个所述按键图片用于指示所述软键盘中的一个按键;

根据所述软键盘图像在所述屏幕显示图像中的位置,确定每个所述按键图片在所述屏幕显示图像中的位置;

对所述多个按键图片进行字符识别,确定每个所述按键图片所指示的按键的按键字符。

另一方面,提供了一种软键盘的按键识别装置,所述装置包括:

获取模块,用于从屏幕显示图像中获取软键盘图像,所述软键盘图像为所述软键盘所在区域的图像;

第一分割模块,用于对所述软键盘图像进行分割,得到多个按键图片,每个所述按键图片用于指示所述软键盘中的一个按键;

第一确定模块,用于根据所述软键盘图像在所述屏幕显示图像中的位置,确定每个所述按键图片在所述屏幕显示图像中的位置;

第二确定模块,用于对所述多个按键图片进行字符识别,确定每个所述按键图片所指示的按键的按键字符。

可选的,所述分割模块包括:

第一划分子模块,用于将所述软键盘图像划分为多个按键行子图像,每个所述按键行子图像用于指示所述软键盘中的一个按键行;

第二划分子模块,用于将每个所述按键行子图像划分为多个按键图片。

可选的,所述第一划分模块用于:

确定所述软键盘图像包括的多个第一像素组中,每个所述第一像素组的像素值之和,其中,每个所述第一像素组包括多个沿平行于所述按键行的延伸方向排布的像素;

基于每个所述第一像素组的像素值之和,将所述软键盘图像划分为多个按键行子图像,其中,每个所述按键行子图像包括连续的至少第一数量阈值个第一目标像素组,每个所述第一目标像素组的像素值之和大于第一像素值阈值。

可选的,所述第二划分模块用于:

对于每个所述按键行子图像,确定所述按键行子图像包括的多个第二像素组中,每个第二像素组的像素值之和,其中,每个所述第二像素组包括多个沿垂直于所述按键行的延伸方向排布的像素;

基于每个所述第二像素组的像素值之和,将所述按键行子图像划分为多个按键图片,其中,每个所述按键图片包括连续的至少第二数量阈值个第二目标像素组,每个所述第二目标像素组的像素值之和大于第二像素值阈值。

可选的,所述装置还包括:

第三确定模块,用于根据每个所述按键图片在所述屏幕显示图像中的位置,确定所述按键图片的宽度,所述按键图片的宽度方向平行于所述按键行的延伸方向;

第二分割模块,用于对于每个所述按键行子图像,若所述按键行子图像中存在目标按键图片的宽度与相邻按键图片的宽度的比值大于比值阈值,基于所述相邻按键图片的宽度,将所述目标按键图片分割为至少两个按键图片;

第四确定模块,用于根据所述目标按键图片在所述屏幕显示图像中的位置,以及所述相邻按键图片在所述屏幕显示图像中的位置,确定由所述目标按键图片分割得到的每个按键图片在所述屏幕显示图像中的位置。

可选的,所述装置还包括:

第五确定模块,用于采用图像匹配和颜色过滤中的至少一种方法,从所述多个按键图片中,确定用于指示特殊按键的特殊按键图片;

删除模块,用于删除所述特殊按键图片。

可选的,所述第二确定模块,包括:

拼接子模块,用于对多个所述按键图片进行拼接,得到至少一个目标图片,每个所述目标图片包括按行或者按列排布的至少两个所述按键图片;

识别子模块,用于对至少一个所述目标图片进行字符识别,确定每个所述按键图片所指示的按键的按键字符。

可选的,所述至少一个目标图片包括多个目标图片;所述识别模块用于:

确定所述软键盘的类型,所述软键盘的类型包括规则软键盘或随机软键盘;

若所述软键盘的类型为规则软键盘,对多个所述目标图片中的第一个目标图片进行识别,在确定所述第一个目标图片包括的多个按键图片所指示的按键的按键字符组成目标字符串时,根据所述目标字符串,确定剩余的每个所述目标图片中每个按键图片所指示的按键字符;

若所述软键盘的类型为随机软键盘,对每个所述目标图片进行识别,确定每个所述按键图片所指示的按键的按键字符。

可选的,所述装置还包括:

第六确定模块,用于根据待输入的字符串,确定待点击的至少一个目标按键;

点击模块,用于根据每个所述目标按键对应的目标按键图片的位置,对每个目标按键图片的位置执行点击操作。

又一方面,提供了一种软键盘的按键识别装置,所述装置包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方面所述的软键盘的按键识别方法。

再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方面所述的软键盘的按键识别方法。

再一方面,提供了一种包含指令的计算机程序产品,当所述计算机程序产品在所述计算机上运行时,使得所述计算机执行上述方面所述的软键盘的按键识别方法。

本申请提供的技术方案带来的有益效果至少包括:

本申请提供了一种软键盘的按键识别方法、装置及存储介质,该方法可以根据软键盘图像在屏幕显示图像中的位置,确定由软键盘图像分割得到的多个按键图片在屏幕显示图像中的位置,并可以对多个按键图片进行字符识别,确定每个按键图片所指示的按键的按键字符。在客户端的自动化测试过程中,由于无需通过测试人员识别按键,有效提高了自动化测试的效率。并且,无需通过获取按键的键码的方式实现对按键的点击,相较于获取按键键码的方式,本申请实施例提供的按键识别装置的可行性较高。此外,每个按键图片是由终端自身的屏幕显示界面中的软键盘图像切割得到的,因此能够确保确定的按键图片的位置即为该软键盘中对应按键的位置,从而可以确保该自动化测试过程不会因按键位置错误而中断,进一步提高了自动化测试的效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种测试设备中金融客户端的登录界面的示意图;

图2是本申请实施例提供的一种终端中金融客户端的登录界面的示意图;

图3是本申请实施例提供的另一种测试设备中金融客户端的登录界面的示意图;

图4是本申请实施例提供的另一种终端中金融客户端的登录界面的示意图;

图5是本申请实施例提供的一种终端的示意图;

图6是本申请实施例提供的一种软键盘的按键识别方法的流程图;

图7是本申请实施例提供的另一种软键盘的按键识别方法的流程图;

图8是本申请实施例提供的一种屏幕显示界面中匹配结果的示意图;

图9是本申请实施例提供的另一种屏幕显示界面中匹配结果的示意图;

图10是本申请实施例提供的一种软键盘的分割方法的流程图;

图11是本申请实施例提供的一种由软键盘图像划分得到的按键行子图像的示意图;

图12是本申请实施例提供的一种由按键行子图像划分得到的按键图片的示意图;

图13是本申请实施例提供的一种确定由目标按键图片分割得到的按键图片的位置的方法流程图;

图14是本申请实施例提供的一种确定每个按键图片所指示的按键的按键字符的方法流程图;

图15是本申请实施例提供的一种按键图片的示意图;

图16是本申请实施例提供的一种包括特殊按键图片的软键盘图像的示意图;

图17是本申请实施例提供的一种终端中游戏客户端的界面示意图;

图18是本申请实施例提供的一种软键盘的按键识别装置的结构示意图;

图19是本申请实施例提供的一种第一分割模块的结构示意图;

图20是本申请实施例提供的另一种软键盘的按键识别装置的结构示意图;

图21是本申请实施例提供的一种第二确定模块的结构示意图;

图22是本申请实施例提供的又一种软键盘的按键识别装置的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

相关技术中,可以通过终端中安装的测试工具,完成密码或验证码的输入。在需要输入密码或验证码时,测试工具可以获取待输入的字符(即密码或验证码中包括的字符)对应的按键的键码,之后可以执行调试桥(androiddebugbridge,adb)命令,实现对安全键盘的操作,以输入密码或验证码。例如,若需要输入的字符为a,a对应的键码为29,则测试工具可以执行命令“adbshellinputkeyevent29”实现对键盘字符为a的按键的点击,以输入密码a。其中,安全键盘中的每个按键均具有一个唯一键码(keycode),keyevent是指按键对应的键码。input是指输入。

但是,由于安全键盘的安全性一般较高,测试工具仅能获取极少数的安全键盘的键码,因此相关技术中通过测试工具完成密码或验证码的输入的可行性较低。

相关技术中,还可以通过与终端连接的测试设备完成密码或验证码的输入。该测试设备(可以称为控制端)中安装有与终端(可以称为被控制端)中的客户端相同的客户端,且测试设备中安装的客户端与终端中安装的客户端同时进行自动化测试。在需要输入密码或者验证码时,测试设备和终端的界面(即其上安装的客户端的界面)均可以显示有软键盘。测试人员可以根据待输入的字符,点击该测试设备显示的软键盘的对应的按键。测试设备在接收到对应按键的点击操作时,可以根据该点击操作确定被点击按键的位置,并可以将该位置发送至终端。终端在接收到该按键的位置后,可以点击该位置,而完成密码或验证码的输入。其中,测试设备与终端所需输入密码或验证码相同。

但是,一方面,当测试设备与终端的分辨率相差较大时,测试设备的界面中显示的安全键盘的的尺寸与终端的界面中显示的安全键盘的尺寸不同,导致按键字符相同的按键在这两个界面中的位置并不相同,从而导致终端对与待输入的字符对应的按键的点击准确性较低,进而导致自动化测试的效率较低。

示例的,参加图1和图2,图1示出了一种测试设备中金融客户端的登录界面的示意图。图2示出了一种终端中金融客户端的登录界面的示意图。图1所示的界面z1和图2所示的界面z2中均可以包括:安全键盘01a、登录名输入框02、登录名输入框02中的“用户名/身份证号”字样、登录密码输入框03、登录密码输入框03中的“请输入密码的字样”以及登录按键04。从图1中还可以看出,该界面z1还可以包括:菜单操作按键05。参见图1和图2,界面z2中与界面z1中的按键字符为q的按键的位置相同的位置处为空白。

另一方面,若终端的界面显示的安全键盘和测试设备的界面显示的安全键盘均为随机安全键盘,则测试设备的安全键盘的某个按键的位置,与终端中安全键盘的该按键的位置并不相同,导致终端对与待输入字符对应的按键的点击准确性较低,从而导致自动化测试无法正常进行,进而导致自动化测试的效率较低。其中,随机键盘是指:按键是随机排布的键盘。

示例的,如图3和图4所示,图3所示的界面z3和图4所示的界面z4均可以包括:安全键盘01b、登录名输入框02、登录名输入框02中的“用户名/身份证号”字样、登录密码输入框03、登录密码输入框03中的“请输入密码的字样”以及登录按键04。参见图3和图4,测试设备的安全键盘中按键字符为3的按键的位置,与终端的安全键盘中按键字符为0的按键的位置相同。

可选的,测试设备可以与多个如上述所述的终端连接,每个终端均与该测试设备所需输入的密码或验证码相同。测试设备在确定被点击按键的位置,可以将该位置发送至每个终端,相应的,每个终端在接收到该按键的位置后,均可以点击该位置,而完成密码或验证码的输入,由此完成对多个终端中每个终端的自动化测试。该测试设备可以为终端。

本申请实施例所提供的软键盘的按键识别方法可以应用于终端。图5是本申请实施例提供的一种终端的示意图。如图5所示,该终端100上可以安装有客户端10a。该终端100可以调用预先存储的测试脚本文件对该客户端进行自动化测试。

其中,该终端100可以是智能手机、平板电脑、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机或者台式计算机等等。该客户端10a可以为需要接收字符输入操作的客户端。示例的,该客户端10a可以为金融客户端,游戏客户端或即时通讯客户端等。其中,金融客户端可以包括:手机银行客户端和第三方支付客户端等。

可选的,该终端100中可以安装有测试工具,该测试工具可以执行预先存储的测试脚本文件对该客户端10a进行自动化测试。

本申请实施例提供了一种软键盘的按键识别方法,该方法可以应用于软键盘的按键识别装置,该装置可以设置在图1所示的终端100中,例如可以设置在终端100的测试工具中,或者该装置可以为该终端100。参见图6,该方法可以包括:

步骤201、从屏幕显示图像中获取软键盘图像。

其中,该软键盘图像可以为软键盘所在区域的图像。

步骤202、对软键盘图像进行分割,得到多个按键图片。

每个按键图片用于指示软键盘中的一个按键。

步骤203、根据软键盘图像在屏幕显示图像中的位置,确定每个按键图片在屏幕显示图像中的位置。

每个按键图片在屏幕显示图像中的位置,即为其所指示的按键在屏幕显示图像中的位置。每个按键图片在屏幕显示图像中的位置可以根据该按键图片包括的多个像素中,第一个像素的像素坐标和最后一个像素的像素坐标确定。

步骤204、对多个按键图片进行字符识别,确定每个按键图片所指示的按键的按键字符。

可选的,可以对多个按键图片中的每个按键图片进行字符识别,或者也可以对多个按键图片中的部分按键图片进行字符识别,以确定每个按键图片所指示的按键的按键字符。

综上所述,本申请实施例提供了一种软键盘的按键识别方法,该方法可以根据软键盘图像在屏幕显示图像中的位置,确定由软键盘图像分割得到的多个按键图片在屏幕显示图像中的位置,并可以对多个按键图片进行字符识别,确定每个按键图片所指示的按键的按键字符。在客户端的自动化测试过程中,由于无需通过测试人员识别按键,有效提高了自动化测试的效率。并且,无需通过获取按键的键码的方式实现对按键的点击,相较于获取按键键码的方式,本申请实施例提供的按键识别方法的可行性较高。此外,每个按键图片是由终端自身的屏幕显示界面中的软键盘图像切割得到的,因此能够确保确定的按键图片的位置即为该软键盘中对应按键的位置,从而可以确保该自动化测试过程不会因按键位置错误而中断,进一步提高了自动化测试的效率。

图7是本申请实施例提供的另一种软键盘的按键识别方法的流程图。该方法可以应用于软键盘的按键识别装置,该装置可以设置在图1所示的终端100中,例如可以设置在终端100的测试工具中,或者该装置可以为该终端100。参见图7,该方法可以包括:

步骤301、从屏幕显示图像中获取软键盘图像。

其中,该软键盘图像为软键盘所在区域的图像。

可选的,软键盘可以为普通软键盘。或者,该软键盘可以是安全键盘。该安全键盘可以是指:出于安全性考虑定制的非系统键盘,安全键盘信息一般无法使用第三方工具获取。

在本申请实施例中,按键识别装置可以先获取包括该软键盘图像的屏幕显示图像,之后可以通过边缘轮廓检测的方法,即通过检测到的软键盘图像的轮廓,从屏幕显示图像中获取软键盘图像。或者,按键识别装置在获取包括软键盘图像的屏幕显示图像后,可以获取软键盘的模板图像,并可以基于获取的软键盘的模板图像,采用图像匹配算法从屏幕显示图像中获取软键盘图像。其中,该图像匹配算法可以为基于特征的图像匹配算法,例如尺度不变特征变换(scaleinvariantfeaturetransform,sift)特征匹配算法,或者可以为基于模板的图像匹配算法,例如灰度模板匹配算法。

可选的,该软键盘的模板图像可以是按键识别装置中预先存储的。该屏幕显示图像可以是按键识别装置对终端屏幕进行截屏获取到的。

本申请实施例以采用图像匹配的算法,从屏幕显示图像中获取软键盘图像的方式为例,对上述步骤301的实现过程进行示例性说明:

在一种可选的实现方式中,该软键盘的模板图像可以为整个软键盘的图像。相应的,按键识别装置可以直接基于该模板图像,采用图像匹配算法,确定该模板图像在屏幕显示图像中的位置,之后可以直接根据该模板图像在屏幕显示图像中的位置从屏幕显示图像中获取软键盘图像。

示例的,假设该模板图像为软键盘图像,则参见图8,按键识别装置可以直接根据该软键盘图像从屏幕显示图像00中获取软键盘图像00a。

在另一种可选的实现方式中,该软键盘的模板图像可以为软键盘的局部图像,例如该软键盘的模板图像可以为软键盘中软键盘标题所在区域的图像。相应的,该按键识别装置可以先基于该模板图像(即软键盘图像的局部图像),采用图像匹配算法,确定出模板图像在屏幕显示图像中的位置,然后可以根据该模板图像在屏幕显示图像中的位置,以及预先存储的屏幕显示图像的尺寸确定出软键盘图像在屏幕显示图像中的位置。之后,可以根据该软键盘图像在屏幕显示图像中的位置从该屏幕显示图像中获取软键盘图像。

示例的,假设该模板图像为软键盘标题所在区域的图像,则参见图9,按键识别装置可以先在屏幕显示图像00中识别出该软键盘标题所在区域的图像00b,并确定其位置。假设按键识别装置确定的软键盘标题所在区域的图像在屏幕显示图像00中的位置为[x1,y1,x2,y2],屏幕显示图像的长度为w,宽度为h,则按键识别装置可以根据软键盘标题所在区域的图像在屏幕显示图像中的位置[x1,y1,x2,y2],以及屏幕显示图像的长度w和宽度h,确定出软键盘图像在屏幕显示图像中的位置为[0,y1,w,h]。

其中,软键盘图像以及模板图像在屏幕显示图像中的位置均可以采用图像的多个顶点(例如左上角的顶点和右下角定顶点)在预设的图像坐标系中的坐标表示。该预设的图像坐标系是指:以屏幕显示图像的左上角顶点为原点,以屏幕显示图像的像素行的延伸方向为x轴的正方向,以屏幕显示图像的像素列的延伸方向为y轴的正方向所建立的坐标系。

步骤302、对软键盘图像进行分割,得到多个按键图片。

其中,每个按键图片可以用于指示软键盘中的一个按键。可选的,按键识别装置可以基于软键盘图像包括的像素组的像素值之和,对该软键盘进行分割。或者,按键识别装置可以基于边缘轮廓检测的方法,通过检测到的软键盘图像中每个按键图片的轮廓对该软键盘图像进行分割。

本申请实施例以基于软键盘图像包括的像素组的像素值之和,对该软键盘进行分割的方式,对上述步骤302的实现过程进行示例性说明。参见图10,该分割过程可以包括:

步骤3021、将软键盘图像划分为多个按键行子图像。

其中,每个按键行子图像可以用于指示软键盘中的一个按键行。

在本申请实施例中,按键识别装置可以先确定软键盘图像包括的多个第一像素组中,每个第一像素组的像素值之和,其中,每个第一像素组可以包括多个沿平行于该按键行的延伸方向排布的像素。之后,按键识别装置可以基于每个第一像素组的像素值之和,将该软键盘图像划分为多个按键行子图像,每个按键行子图像包括连续的至少第一数量阈值个第一目标像素组,每个第一目标像素组的像素值之和大于第一像素值阈值。其中,每个第一目标像素组也可以称为软键盘图像中的一个前景对象。

可选的,第一数量阈值可以是按键识别装置中预先存储的。第一像素值阈值可以是根据软键盘图像中的多个第一像素组的多个像素值之和中,最大的像素值之和与最小的像素值之和确定的。例如,该第一像素值阈值可以等于最大的像素值之和与最小的像素值之和的均值。该均值可以为算术平均值。也即是,该第一像素阈值t1满足:t1=(min(row_sum)+max(row_sum))/2。

其中,min(row_sum)为多个第一像素组的多个像素值之和中最小的像素值之和,max(row_sum))为多个第一像素组的多个像素值之和中最大的像素值之和。

示例的,假设该第一数量阈值为20,第一像素值阈值为软键盘图像中的多个第一像素组的多个像素值之和中,最大的像素值之和与最小的像素值之和的均值,则按键识别装置可以从软键盘图像包括的多个第一像素组中的第一个第一像素组开始,比较每个第一像素组的像素值之和与第一像素的阈值,若存在连续20个第一像素组的像素值之和大于第一像素阈值,则将该20个第一像素组划分为一个按键行子图像,最后可以得到图11所示的5个按键行子图像011至015。

需要说明的是,若该按键行的延伸方向平行于软键盘图像中的像素行的延伸方向,则每个按键行子图像可以包括连续的至少第一数量阈值个像素行。若该按键行的延伸方向平行于软键盘图像中的像素列的延伸方向,则每个按键行子图像可以包括连续的至少第一数量阈值个像素列。

步骤3022、将每个按键行子图像划分为多个按键图片。

在本申请实施例中,对于每个按键行子图像,按键识别装置可以先确定按键行子图像包括的多个第二像素组中,每个第二像素组的像素值之和,其中,每个第二像素组可以包括多个沿垂直于该按键行的延伸方向排布的像素。之后,按键识别装置可以基于每个第二像素组的像素值之和,将按键行子图像划分为多个按键图片,每个按键图片可以包括连续的至少第二数量阈值个第二目标像素组,每个第二目标像素组的像素值之和大于第二像素值阈值。其中,每个第二目标像素组也可以称为软键盘图像中的一个前景对象。

可选的,第二数量阈值可以与第一数量阈值相等。对于每个按键行子图像,第二像素值阈值可以是根据按键行子图像中的多个第二像素组的多个像素值之和中,最大的像素值之和与最小的像素值之和确定的。例如,该第二像素值阈值可以等于最大的像素值之和和最小的像素值之和的四分之一。也即是,第二像素阈值t2满足:t2=(min(line_sum)+max(line_sum))/4。

其中,min(line_sum)为多个第二像素组的多个像素值之和中最小的像素值之和,max(line_sum))为多个第二像素组的多个像素值之和中最大的像素值之和。

示例的,假设该第二个数阈值为20,对于每个按键行子图像,第二像素值阈值为该按键行子图像中的多个第二像素组的多个像素值之和中,最大的像素值之和与最小的像素值之和的四分之一。则对于每个按键行子图像,按键识别装置可以从按键子图像包括的多个第二像素组中的第一个第二像素组开始,比较每个第二像素组的像素值之和与第二像素阈值,若存在连续20个第二像素组的像素值之和大于第二像素阈值,则将该20个第二像素组划分为一个按键图片,例如图12所示,将5个按键行子图像中的第2个按键子图像012划分为10个按键图片l1至l10。

需要说明的是,若该按键行的延伸方向平行于软键盘图像中的像素行的延伸方向,即按键行的延伸方向垂直于软键盘图像中的像素列的延伸方向,则每个按键图片可以包括连续的至少第二数量阈值个像素列。若该按键行的延伸方向平行于键盘图像中的像素列的延伸方向,则每个按键图片可以包括连续的至少第二数量阈值个像素行。

还需要说明的是,在上述步骤302之前,按键识别装置还可以先对软键盘图像进行二值化处理,得到软键盘图像的二值化图像。相应的,在上述步骤302中,按键识别装置可以基于软键盘图像的二值化图像对软键盘图像进行分割,得到多个按键图片。

步骤303、根据软键盘图像在该屏幕显示图像中的位置,确定每个按键图片在屏幕显示图像中的位置。

其中,每个按键图片在屏幕显示图像中的位置,即为该按键图片所指示的按键在该屏幕显示图像中的位置。

在本申请实施例中,按键识别装置可以根据软键盘图像在屏幕显示图像中的位置,确定软键盘图像中每个像素的像素位置。之后,对于每个按键图片,按键识别装置均可以根据该按键图片包括的多行多列的像素中,位于第一行第一列的像素的位置和位于最后一行最后一列的像素的位置确定该按键图片在屏幕显示图像中的位置。

示例的,按键识别装置可以根据软键盘图像在屏幕显示图像中的位置,确定软键盘图像的长度和宽度。然后,按键识别装置可以确定该屏幕显示图像所包括的像素行数和像素列数,并基于该软键盘图像的长度和宽度,以及像素行数和像素列数,确定每个像素的像素坐标,即该像素在图像坐标系中的坐标。之后,对于每个按键图片,可以根据按键图片包括的多行多列的像素中,位于第一行第一列的像素的像素坐标和位于最后一行最后一列的像素的像素坐标确定该按键图片在图像坐标系中的坐标,即该按键图片在屏幕显示图像中的位置。

需要说明的是,在将每个按键子图像划分为多个按键图片的过程中,可能会将两个按键图片划分为一个图片,即出现按键图片黏连的现象,从而影响后续识别出的按键字符的准确性。为了避免该种现象的出现,在本申请实施例中,在确定每个按键图片在该屏幕显示图像中的位置之后,参考图13,按键识别装置还可以执行以下操作:

步骤s1、根据每个按键图片在该屏幕显示图像中的位置,确定该按键图片的长度。

其中,每个按键图片的长度方向可以平行于按键行的延伸方向。

每个按键图片的长度可以为该按键图片包括的多行多列的像素中,位于最后一行最后一列的像素的x坐标值,与位于第一行第一列的像素的x坐标值的差值。

步骤s2、对于每个按键行子图像,若该按键行子图像中存在目标按键图片的长度与相邻按键图片的长度的比值大于比值阈值,基于相邻按键图片的长度,将该目标按键图片分割为至少两个按键图片。

可选的,该比值阈值可以按键识别装置中预先存储的。示例的,该比值阈值可以为1.5。

步骤s3、根据目标按键图片在该屏幕显示图像中的位置,以及该相邻按键图片在该屏幕显示图像中的位置,确定由该目标按键图片分割得到的每个按键图片在该屏幕显示图像中的位置。

由于按键识别装置在得到多个按键图片的位置后,对于每个按键行子图像,可以基于该按键行子图像中的按键图片的长度,对划分得到的多个按键图片进行校正,因此有效确保了划分得到的按键图片的准确性,即能够使得每个按键图片对应于一个按键。并且,按键识别装置还可以根据目标按键图片的位置,以及相邻按键图片的位置,确定分割得到的每个按键图片的位置,由此可以确保划分的每个按键图片在屏幕显示图像中的位置的准确性。

步骤304、对多个按键图片进行字符识别,确定每个按键图片所指示的按键的按键字符。

可选的,可以采用光学字符识别(opticalcharacterrecognition,ocr)的方法,对多个按键图片进行字符识别,以确定每个按键图片所指示的按键的按键字符。

图14是本申请实施例提供的一种确定每个按键图片所指示的按键的按键字符的方法流程图。参见图14,上述步骤304的实现过程可以包括:

步骤3041、对多个按键图片进行拼接,得到至少一个目标图片。

其中,每个目标图片可以包括按行或者按列排布的至少两个按键图片。

在本申请实施例中,对于数字键盘,由于其所包括的按键的个数较少,因此可以直接将多个按键图片拼接为一个目标图片。对于字母键盘,以及数字和字母的混合键盘,由于其所包括的按键的个数较多,因此可以将多个按键图片拼接为多个(例如3个或4个)目标图片。基于此,按键识别装置在对多个按键图片进行拼接之前,可以先确定多个按键图片的个数。在多个按键图片的个数小于个数阈值时,可以将多个按键图片拼接为一行或一列。在多个按键图片的个数不小于个数阈值时,可以将多个按键图片拼接为多行或多列。可选的,该个数阈值可以是按键识别装置中预先存储的,例如可以为字母键盘中的字母键的个数,即该个数阈值为26。

示例的,假设个数阈值为26,参见图15,若该软键盘为数字九宫格键盘,则按键识别装置可以获取到10个按键图片0111,由于10小于26,则按键识别装置可以将该10个按键图片0111按行拼接成一个目标图片。

可选的,在本申请实施例中,在对多个按键图片进行拼接之前,可以对该多个按键图片中的每个按键图片进行裁剪,以减小按键图片的尺寸,从而降低按键识别装置的运算复杂度,提高对多个按键图片进行字符识别的识别效率。

在本申请实施例中,按键识别装置可以根据获取到的多个按键图片的个数判断该软键盘是数字键盘,字母键盘,还是数字和字母的混合键盘。之后可以根据该软键盘的类型,以不同的方式对多个按键图片进行裁剪。

示例的,若按键识别装置根据多个按键图片的个数,确定出该软键盘为数字键盘时,则对于每个按键图片,可以以该按键图片的中心像素为基准,对于垂直于按键行延伸方向的多个像素组,仅对称保留20个像素组,对于平行于按键行延伸方向的多个像素组,分别删除前15个像素组和后15个像素组。

若按键识别装置根据多个按键图片的个数确定出该软键盘为字母键盘,或数字和字母的混合键盘,则对于每个按键图片,可以以该按键图片的中心像素为基准,对于垂直于按键行延伸方向的多个像素组,分别删除前15个像素组和后15个像素组,对于平行于按键行延伸方向的多个像素组,也分别删除前15个像素组和后15个像素组。

在本申请实施例中,软键盘中通常可以设置有多种类型的按键,例如该软键盘可以包括数字键、字母键、切换键、符号键以及其他按键。该其他按键可以包括:登录键、确定键、删除键以及特殊定制的按键。其中,该切换键包括:字符类型切换键,以及大小写切换键。该特殊定制的按键可以为股票代码的按键,或按键字符为定制字符的按键。例如,图16所示粗线框中的按键0112,即按键字符为600、601和800等按键。

通常情况下密码或验证码为多个字符组成的字符串,在进行密码或验证码输入的过程中,一般不需要对软键盘中的部分按键(例如上文所述的其他按键)进行点击。因此,在本申请实施例中,按键识别装置在对多个按键图片进行拼接之前,还可以先删除多个按键图片中的特殊按键图片,该特殊按键图片用于指示密码或验证码输入过程中通常不会被点击的特殊按键,以提高按键识别装置对软键盘按键的识别效率。

在本申请实施例中,按键识别装置可以采用图像匹配和颜色过滤中的至少一种方法,从多个按键图片中,确定用于指示特殊按键的特殊按键图片,并删除该特殊按键图片。本申请实施例以采用图像匹配和颜色过滤这两种方法,对从多个按键图片中,确定用于指示特殊按键的特殊按键图片的实现过程进行说明:

按键识别装置可以先采用颜色过滤的方法,从多个按键图片中确定特殊按键图片,然后可以将该特殊按键图片删除。由于部分特殊按键图片的颜色与软件盘中的用于指示会被点击的按键(例如上述的数字键和字母键等)的按键图像的颜色相似度较高,通过颜色过滤无法从多个按键图片中,确定出该部分特殊按键图片,此时按键识别装置可以采用图像匹配的方法,从多个按键图片中确定出颜色与有效按键图片相似度较高的特殊按键图片,并将其从多个按键图片中删除。

可选的,按键识别装置在采用颜色过滤的方法,从多个按键图片中确定无效图片的过程中,对于每个按键图片,可以先确定该按键图片中每个像素的像素值,然后可以确定该按键图片中,像素值大于像素阈值的像素所占的比例。若该比例大于比例阈值,则可以将该按键图片确定为特殊按键图片。

其中,终端可以根据软键盘图像的位置,以位于软键盘图像中心的像素作为中心,上下保留指定数目行像素,左右保留指定数目列像素,组成目标像素区域,并将目标像素区域中最大的像素值与指定数值的差值确定为像素阈值。

可选的,该指定数目、指定数值以及比例阈值均可以是测试人员根据测试经验确定,并存储至按键识别装置中的。示例的,该指定数目可以为24,该指定数值可以为20,该比例阈值可以为80%。

可选的,按键识别装置在采用图像匹配的方法,从多个按键图片中确定无效图片的过程中,可以先获取特殊按键图片的模板图像,并采用图像匹配算法在软键盘图像中确定该模板图像的位置。之后,基于多个按键图片的位置,将位置与该模板图像在软键盘图像中的位置相同的按键图片确定为特殊按键图片。

需要说明的是,在将每个按键行子图像划分为多个按键图片的过程中,可能会出现将按键行子图像的背景划分为一个按键图片的情况,即该按键图片中不存在字符,该按键图片所指示的按键为空键,从而影响后续对按键图片进行识别的准确性。其中,空键对应的按键图片包括的多个像素的像素值的最大值与最小值之差小于差值阈值。

为了避免该种情况,按键识别装置在确定每个按键图片的位置后,还可以根据每个按键图片的位置,在屏幕显示图像的基础上确定该按键图片包括的多个像素的多个像素值中的最大值和最小值。之后,在确定该最大值与该最小值之差小于差值阈值时,可以确定该按键图片所指示的按键为空键,并将该按键图片从多个按键图片中删除。可选的,该差值阈值可以是按键识别装置中预先存储的,示例的,该差值阈值可以为100。

步骤3042、对至少一个目标图片进行字符识别,确定每个按键图片所指示的按键的按键字符。

在本申请实施例中,若多个按键图片的个数小于个数阈值,则至少一个目标图片可以包括一个目标图片。按键识别装置仅需识别一次,即可确定每个按键图片所指示的按键的按键字符。若多个按键图片的个数不小于个数阈值,则该至少一个目标图片可以包括多个目标图片,例如3个或4个目标图片。按键识别装置需要识别至少一次,才可确定每个按键图片所指示的按键的按键字符。

由于在本申请实施例提供的方案中,可以先对多个按键图片进行拼接得到目标图片,然后再对目标图片进行字符识别,降低了按键识别装置对多个按键图片进行字符识别的次数,从而提高了按键识别装置对多个按键图片进行字符识别的识别效率。

可选的,按键识别装置在对多个目标图片进行识别之前,可以确定软键盘的类型,该软键盘的类型包括规则软键盘或随机软键盘,并根据软键盘的类型以不同的识别方式对多个目标图片进行识别。

在一种可选的实现方式中,该软键盘的类型为规则软键盘。按键识别装置可以对多个目标图片中的第一个目标图片进行识别,在确定该第一个目标图片包括的多个按键图片所指示的按键的按键字符组成目标字符串时,可以直接根据该目标字符串,确定剩余的每个目标图片中每个按键图片所指示的按键字符,而无需再对剩余的目标图片进行识别,从而有效减少了识别次数,提高了识别效率,并且可以避免个别按键图片识别错误的现象,从而提高了识别准确性。

在本申请实施例中,按键识别装置在对第一个目标图片进行识别,并确定该第一个目标图片包括的多个按键图片所指示的按键的按键字符组成目标字符串时,可以直接根据该目标字符串确定软键盘的各个按键的排布规则,之后可以直接根据该排布规则确定剩余目标图片中的按键图片所指示的按键字符。其中,该目标字符串可以为qwertyuiop,或者该目标字符串可以为123456789。

示例的,假设该软键盘为规则软键盘,目标字符串为qwertyuiop,按键识别装置确定的第一个目标图片包括的多个按键图片所指示的按键的按键字符组成字符串为qwertyuiop,则按键识别装置可以确定第一个目标图片包括的多个按键图片所指示的按键的按键字符组成的字符串与目标字符串相同,之后可以直接根据该软键盘的各个按键的排布规则,确定剩余的目标图片中的按键图片所指示的按键字符依次为:a、s、d、f、g、h、j、k、l、z、x、c、v、b、n以及m。

需要说明的是,由于规则软键盘的按键是规则排布的,因此在对目标图片进行识别的过程中,可以在识别匹配度大于或等于匹配度阈值时,直接确定该目标图片包括的各个按键图片所指示的按键的按键字符。其中,可选的,识别匹配度可以是指:目标图片中识别正确的按键图片的个数与目标图片包括的所有按键图片的个数的比值。示例的,该匹配度阈值可以为50%。

在另一种可选的实现方式中,该软键盘的类型为随机软键盘。由于随机软键的按键排布是随机的,不固定的,因此按键识别装置需对每个目标图片进行识别,以确定每个按键图片所指示的按键的按键字符。

在本申请实施例中,对每个按键图片进行识别后,按键识别装置还可以以下两种方式中的至少一种判断识别的准确性:

根据识别出的按键字符的个数和按键图片的个数,在确定该按键字符的个数小于该按键图片的个数时,按键识别装置可以确定出识别出的某个按键图片的按键字符为空,即出现识别结果缺失的现象,即可确定识别准确性较低。

根据识别出的按键字符,在确定识别出的按键字符中,存在两个或两个以上相同的字符时,按键识别装置可以确定出现某个按键字符重复出现的现象,识别准确性较低。

当按键识别装置确定识别准确性较低时,可以将对应的按键图片进行放大,再进行识别,并根据放大后的识别结果校正之前的识别结果,从而有效提高了识别准确率。当出现按键字符为空的现象时,可以根据按键字符为空的按键图片的位置,确定该按键图片的长度和宽度,并将该按键图片的长度和宽度放大至指定倍数,对该放大后的按键图片进行识别。当出现某个按键字符重复出现(例如某个按键字符出现了两次)的现象时,可以根据该重复的按键字符的按键图片的位置,确定该两个按键图片的长度和宽度,并将该两个按键图片的长度和宽度放大至指定倍数,对该放大后的按键图片进行识别,由此可以避免个别按键图片因相似度较高(例如用于指示按键字符为i和j的两个按键图片)而导致的识别错误现象。

可选的,该指定倍数可以是预先存储的,例如可以为2。

步骤305、根据待输入的字符串,确定待点击的至少一个目标按键。

该目标按键的个数可以大于或等于待输入的字符串包括的字符的个数。

在一种可选的实现方式中,若待输入的字符串仅包括单一类型的字符(例如仅包括数字或者仅包括字母,且字母为同一格式的字母),也即是在输入待输入的字符串时,无需点击切换键,此时按键识别装置可以直接将软键盘中按键字符与待输入的字符串包括的各个字符相同的按键确定为目标按键。

在另一种可选的实现方式中,若待输入的字符串包括多种类型的字符(例如包括数字和字母,或者包括不同格式的字母),也即是在输入该待输入的字符串时,需要点击切换键(例如字符类型切换键或大小写切换键),则按键识别装置可以确定该目标按键的个数比待输入的字符串包括的字符的个数至少大1,并且可以根据识别出的按键字符,将软键盘中按键字符与待输入的字符串包括的各个字符的相同按键,以及切换键确定为目标按键。

步骤306、根据每个目标按键对应的目标按键图片的位置,对每个目标按键图片的位置执行点击操作。

在本申请实施例中,可以根据每个目标按键对应的目标按键图片的位置,确定目标按键图片的点击位置,并在点击位置处,对目标按键图片执行点击操作,以输入待输入的字符串。

可选的,目标按键图片的点击位置可以是根据目标按键图片的位置的平均值确定的,该平均值可以为算术平均值。

示例的,若目标按键图片的位置为[x_min,y_min,x_max,y_max],则按键识别装置可以确定该按键图片的点击位置为:[(x_min+x_max)/2,(y_min+y_max)/2]。

由于目标按键图片的点击位置是根据目标按键图片的位置的平均值确定的,因此有效提高了对按键图片进行点击的准确性。

需要说明的是,若待输入的字符串的多个字符中,包括:数字、小写字母和大写字母,也即是至少一个目标按键中包括切换键。按键识别装置可以采用图像匹配算法在软键盘图像中获取字符类型切换键的位置和字母大小写切换键的位置。

在本申请实施例中,若待输入的字符串是由数字和字母组成的,且当前显示的软键盘中仅包括数字按键或字母按键,即在输入待输入的字符串时,需要在不同的屏幕显示界面中确定目标按键图片的位置。此时,按键识别装置可以先根据待输入的字符串,在不同的屏幕显示图像中,采用上述方法确定出所有目标按键图片的位置。之后,可以在不同的屏幕显示图像中,逐一点击该目标按键图片的位置。或者,按键识别装置可以根据待输入的字符串,采用上述方法先在一个屏幕显示图像中确定出部分目标按键图片的位置,并对该部分目标按键图片的位置执行点击操作。之后,可以在另一个屏幕显示图像中,确定出剩余目标按键图片的位置,并对该剩余目标按键图片的位置执行点击操作,即可完成对所有目标按键图片的点击操作。

示例的,图17以识别游戏客户端中显示的软键盘的按键为例,对本申请实施例提供的按键识别方法进行介绍。参考图17,该游戏客户端显示的界面z5为游戏角色创建界面,该界面z5可以包括:软键盘06、发型选择区07、头像选择区08以及“创建角色”按键09。按键识别装置在对获取与图17所示界面相同的屏幕显示图像后,可以基于预先存储的软键盘模板图像从该屏幕显示图像中获取软键盘图像,即软键盘06的图像。然后,按键识别装置可以对该软键盘图像进行分割,得到多个按键图片,按键分割的方法可以参考上述步骤3021和步骤3022的描述,例如可以先将图17所示的软键盘06的图像分割为4个按键行子图像061至064。对于每个按键行子图像,可以将其分割为多个按键图片。之后,按键识别装置可以确定每个按键图片的位置,并可以确定每个按键图片所指示的按键的按键字符。确定每个按键图片的位置以及该按键图片所指示的按键的按键字符的过程可以参考上述步骤303和304的描述。最后,按键识别装置可以根据待输入的字符串,确定待点击的目标按键,并对目标按键对应的目标按键图片的位置执行点击操作,从而输入待输入的字符。确定待点击的目标按键的方法可以参考上述实施例的相关描述,在此不再赘述。

综上所述,本申请实施例提供了一种软键盘的按键识别方法,该方法可以根据软键盘图像在屏幕显示图像中的位置,确定由软键盘图像分割得到的多个按键图片在屏幕显示图像中的位置,并可以对多个按键图片进行字符识别,确定每个按键图片所指示的按键的按键字符。在客户端的自动化测试过程中,由于无需通过测试人员识别按键,有效提高了自动化测试的效率。并且,无需通过获取按键的键码的方式实现对按键的点击,相较于获取按键键码的方式,本申请实施例提供的按键识别方法的可行性较高。此外,每个按键图片是由终端自身的屏幕显示界面中的软键盘图像切割得到的,因此能够确保确定的按键图片的位置即为该软键盘中对应按键的位置,从而可以确保该自动化测试过程不会因按键位置错误而中断,进一步提高了自动化测试的效率。

参见图18,本申请实施例提供了一种软键盘的按键识别装置,该装置400可以包括:

获取模块401,用于从屏幕显示图像中获取软键盘图像,软键盘图像为软键盘所在区域的图像。

第一分割模块402,用于对软键盘图像进行分割,得到多个按键图片,每个按键图片用于指示软键盘中的一个按键。

第一确定模块403,用于根据软键盘图像在屏幕显示图像中的位置,确定每个按键图片在屏幕显示图像中的位置。

第二确定模块404,用于对多个按键图片进行字符识别,确定每个按键图片所指示的按键的按键字符。

综上所述,本申请实施例提供了一种软键盘的按键识别装置,该装置可以根据软键盘图像在屏幕显示图像中的位置,确定由软键盘图像分割得到的多个按键图片在屏幕显示图像中的位置,并可以对多个按键图片进行字符识别,确定每个按键图片所指示的按键的按键字符。在客户端的自动化测试过程中,由于无需通过测试人员识别按键,有效提高了自动化测试的效率。并且,无需通过获取按键的键码的方式实现对按键的点击,相较于获取按键键码的方式,本申请实施例提供的按键识别装置的可行性较高。此外,每个按键图片是由终端自身的屏幕显示界面中的软键盘图像切割得到的,因此能够确保确定的按键图片的位置即为该软键盘中对应按键的位置,从而可以确保该自动化测试过程不会因按键位置错误而中断,进一步提高了自动化测试的效率。

可选的,如图19所示,第一分割模块402可以包括:

第一划分子模块4021,用于将软键盘图像划分为多个按键行子图像,每个按键行子图像用于指示软键盘中的一个按键行。

第二划分子模块4022,用于将每个按键行子图像划分为多个按键图片。

可选的,该第一划分模块4021用于:

确定软键盘图像包括的多个第一像素组中,每个第一像素组的像素值之和,其中,每个第一像素组包括多个沿平行于按键行的延伸方向排布的像素;基于每个第一像素组的像素值之和,将软键盘图像划分为多个按键行子图像,其中,每个按键行子图像包括连续的至少第一数量阈值个第一目标像素组,每个第一目标像素组的像素值之和大于第一像素值阈值。

可选的,第二划分模块4022可以用于:

对于每个按键行子图像,确定按键行子图像包括的多个第二像素组中,每个第二像素组的像素值之和,其中,每个第二像素组包括多个沿垂直于按键行的延伸方向排布的像素;基于每个第二像素组的像素值之和,将按键行子图像划分为多个按键图片,其中,每个按键图片包括连续的至少第二数量阈值个第二目标像素组,每个第二目标像素组的像素值之和大于第二像素值阈值。

可选的,参见图20,该软键盘的按键识别装置400还可以包括:

第三确定模块405,用于根据每个按键图片在屏幕显示图像中的位置,确定按键图片的宽度,按键图片的宽度方向平行于按键行的延伸方向。

第二分割模块406,用于对于每个按键行子图像,若按键行子图像中存在目标按键图片的宽度与相邻按键图片的宽度的比值大于比值阈值,基于相邻按键图片的宽度,将目标按键图片分割为至少两个按键图片。

第四确定模块407,用于根据目标按键图片在屏幕显示图像中的位置,以及相邻按键图片在屏幕显示图像中的位置,确定由目标按键图片分割得到的每个按键图片在屏幕显示图像中的位置。

可选的,参见图20,该装置还可以包括:

第五确定模块408,用于采用图像匹配和颜色过滤中的至少一种方法,从多个按键图片中,确定用于指示特殊按键的特殊按键图片。

删除模块409,用于删除特殊按键图片。

可选的,参见图21,该第二确定模块404可以包括:

拼接子模块4041,用于对多个按键图片进行拼接,得到至少一个目标图片,每个目标图片包括按行或者按列排布的至少两个按键图片;

识别子模块4042,用于对至少一个目标图片进行字符识别,确定每个按键图片所指示的按键的按键字符。

可选的,至少一个目标图片包括多个目标图片;该识别子模块4042可以用于:

确定软键盘的类型,软键盘的类型包括规则软键盘或随机软键盘;若软键盘的类型为规则软键盘,对多个目标图片中的第一个目标图片进行识别,在确定第一个目标图片包括的多个按键图片所指示的按键的按键字符组成目标字符串时,根据目标字符串,确定剩余的每个目标图片中每个按键图片所指示的按键字符;若软键盘的类型为随机软键盘,对每个目标图片进行识别,确定每个按键图片所指示的按键的按键字符。

可选的,参见图20,该装置还可以包括:

第六确定模块410,用于根据待输入的字符串,确定待点击的至少一个目标按键。

点击模块411,用于根据每个目标按键对应的目标按键图片的位置,对每个目标按键图片的位置执行点击操作。

综上所述,本申请实施例提供了一种软键盘的按键识别装置,该装置可以根据软键盘图像在屏幕显示图像中的位置,确定由软键盘图像分割得到的多个按键图片在屏幕显示图像中的位置,并可以对多个按键图片进行字符识别,确定每个按键图片所指示的按键的按键字符。在客户端的自动化测试过程中,由于无需通过测试人员识别按键,有效提高了自动化测试的效率。并且,无需通过获取按键的键码的方式实现对按键的点击,相较于获取按键键码的方式,本申请实施例提供的按键识别装置的可行性较高。此外,每个按键图片是由终端自身的屏幕显示界面中的软键盘图像切割得到的,因此能够确保确定的按键图片的位置即为该软键盘中对应按键的位置,从而可以确保该自动化测试过程不会因按键位置错误而中断,进一步提高了自动化测试的效率。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、各模块以及各子模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

图22是本申请实施例提供的又一种软键盘的按键识别装置的结构示意图。该按键识别装置500可以是:智能手机、平板电脑、mp3(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)播放器、mp4播放器、笔记本电脑或台式电脑等终端。该按键识别装置500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。或者,该按键识别装置500也可以是服务器。

通常,该软键盘的按键识别装置500包括有:处理器501和存储器502。

处理器501可以包括一个或多个处理核心,比如4核心处理器、12核心处理器等。处理器501可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本申请实施例提供的软键盘的按键识别方法。

在一些实施例中,该按键识别装置500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:射频电路504、触摸显示屏505、摄像头506、音频电路507、定位组件508和电源509中的至少一种。

外围设备接口503可被用于将i/o相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路504用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或无线保真(wirelessfidelity,wifi)网络。在一些实施例中,射频电路504还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏505用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置在按键识别装置500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在按键识别装置500的不同表面或呈折叠设计;在再一些实施例中,显示屏505可以是柔性显示屏,设置在按键识别装置500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在按键识别装置500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。

定位组件508用于定位按键识别装置500的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件508可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。

电源509用于为按键识别装置500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以支持有线充电或无线充电。可充电电池还可以用于支持快充技术。

在一些实施例中,按键识别装置500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。

加速度传感器511可以检测以按键识别装置500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制触摸显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器512可以检测按键识别装置500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对按键识别装置500的3d动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器513可以设置在按键识别装置500的侧边框和/或触摸显示屏505的下层。当压力传感器513设置在按键识别装置500的侧边框时,可以检测用户对按键识别装置500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在触摸显示屏505的下层时,由处理器501根据用户对触摸显示屏505的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置按键识别装置500的正面、背面或侧面。当按键识别装置500上设置有物理按键或厂商logo时,指纹传感器514可以与物理按键或厂商logo集成在一起。

光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制触摸显示屏505的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏505的显示亮度;当环境光强度较低时,调低触摸显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。

接近传感器516,也称距离传感器,通常设置在按键识别装置500的前面板。接近传感器516用于采集用户与按键识别装置500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与按键识别装置500的正面之间的距离逐渐变小时,由处理器501控制触摸显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与按键识别装置500的正面之间的距离逐渐变大时,由处理器501控制触摸显示屏505从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图22中示出的结构并不构成对软键盘的按键识别装置500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

本申请实施例中还提供了一种计算机可读存储介质,该计算机可读存储介质中可以存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述方法实施例提供的软键盘的按键识别方法,例如图6或图7所示的软键盘的按键识别方法。

本申请实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行上述方法实施例提供的软键盘的按键识别方法,例如图6或图7所示的软键盘的按键识别方法。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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