识别键盘字符的方法、装置、存储介质及电子设备与流程

文档序号:32606754发布日期:2022-12-20 17:45阅读:68来源:国知局
识别键盘字符的方法、装置、存储介质及电子设备与流程

1.本公开涉及数据处理技术领域,具体地,涉及一种识别键盘字符的方法、装置、存储介质及电子设备。


背景技术:

2.在移动设备中,在一些密码输入的场景下,软件开发商一般会使用专属的安全键盘,必须通过点击安全键盘上的字符才能输入。由于安全键盘做了安全限制,在软件的自动化测试过程中,无法通过抓取dom结构来获取各个字符的位置信息,从而便不能够通过虚拟点击的方式实现字符输入,而如果通过手工点击进行输入的话,将降低自动化测试的效率。因此,如何识别键盘中字符的位置成为一个需要解决的问题。


技术实现要素:

3.本公开的目的是提供一种识别键盘字符的方法、装置、存储介质及电子设备,以提高键盘字符识别的准确性。
4.为了实现上述目的,第一方面,本公开提供一种识别键盘字符的方法,所述方法包括:
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.第一获取模块,用于获取键盘所在区域的图像对应的光学字符识别结果;
36.第二获取模块,用于根据所述光学字符识别结果,获取所述键盘对应的标准字符分布信息;
37.修正模块,用于根据所述标准字符分布信息对所述光学字符识别结果进行修正,得到所述键盘的目标识别结果。
38.第三方面,本公开提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述方法的步骤。
39.第四方面,本公开提供一种电子设备,包括:
40.存储器,其上存储有计算机程序;
41.处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面中任一项所述方法的步骤。
42.通过上述技术方案,在获取键盘所在区域的图像对应的光学字符识别结果之后,可以根据所述光学字符识别结果,获取所述键盘对应的标准字符分布信息,接着便可以根据所述标准字符分布信息对所述光学字符识别结果进行修正,得到所述键盘的目标识别结果。由于在获取到键盘所在区域的图像对应的光学字符识别结果之后,并不会直接将光学字符识别结果作为最终的识别结果,而是先获取键盘对应的标准字符分布信息,再根据标准字符分布信息对所述光学字符识别结果进行修正,提高了获得的键盘的目标识别结果的准确性。
43.本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
44.附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
45.图1是根据本公开一示例性实施例示出的一种识别键盘字符的方法的流程图;
46.图2是根据本公开一示例性实施例示出的安全键盘的示意图;
47.图3是根据本公开一示例性实施例示出的一种识别键盘字符的方法中s120的一种实施方式的流程图;
48.图4是根据本公开一示例性实施例示出的一种对光学字符识别结果进行分行后的结果示意图;
49.图5是根据本公开一示例性实施例示出的一种识别键盘字符的方法中s130的一种实施方式的流程图;
50.图6是根据本公开一示例性实施例示出的一种识别键盘字符的方法中s510的一种实施方式的流程图;
51.图7是根据本公开一示例性实施例示出的一种确定出的每一按键行分别对应的目标字符的分布图;
52.图8是根据本公开一示例性实施例示出的一种识别键盘字符的方法中s520的一种实施方式的流程图;
53.图9是根据本公开一示例性实施例示出的另一种识别键盘字符的方法的流程图;
54.图10是根据本公开一示例性实施例示出的一种识别键盘字符的装置的框图;
55.图11是根据本公开一示例性实施例示出的一种电子设备的框图。
具体实施方式
56.以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
57.相关技术中,存在一种通过光学字符识别技术(ocr,optical character recognition)识别图像中的字符的方法,然而,申请人在长期研究中发现,若将光学字符识别技术应用到识别键盘图像中的字符,由于键盘图像干扰较多,而且多为单字符,无法完全将键盘中所有字符准确识别出来,不能将识别得到的字符的位置信息应用于自动化测试时的虚拟点击。
58.因此,相关技术中还没有一种能够较好的确定键盘中字符位置的方法。有鉴于此,本公开提供一种识别键盘字符的方法、装置、存储介质及电子设备,以提高确定键盘中字符位置的准确性,即提高识别键盘字符的准确性。
59.需要说明的是,本公开实施例中,识别键盘字符是指将字符正确识别出来,同时准确获取到字符的位置。
60.请参阅图1,图1是根据本公开一示例性实施例示出的一种识别键盘字符的方法的流程图。该方法应用于电子设备,如图1所示,该识别键盘字符的方法包括:
61.s110,获取键盘所在区域的图像对应的光学字符识别结果。
62.可选地,键盘可以为普通软键盘,或者,该键盘可以是安全键盘。该安全键盘可以理解为:出于安全性考虑定制的非系统键盘,安全键盘信息一般无法使用第三方工具获取。
63.示例性地,如图2所示,示出了三种安全键盘的示意图。可以看出三种安全键盘呈现不同的键盘分布情况。
64.本公开实施例中,电子设备可以先获取包括该键盘图像的屏幕显示图像,之后可以通过边缘轮廓检测的方法对其中键盘所在区域的图像进行分割,即通过检测到的键盘图像的轮廓,从屏幕显示图像中分割出键盘所在区域的图像。
65.在一些实施方式中,该屏幕显示图像可以是电子设备对终端屏幕进行截屏获取到的。
66.本公开实施例中,在获取到键盘所在区域的图像之后,可以通过光学字符识别技术对键盘所在区域的图像进行识别处理,从而得到键盘所在区域的图像对应的光学字符识别结果。
67.s120,根据光学字符识别结果,获取键盘对应的标准字符分布信息。
68.其中,标准字符分布信息可以理解为图像中的键盘包括的各个字符的分布情况。
69.本公开实施例中,在获取到键盘所在区域的图像对应的光学字符识别结果之后,可以进一步对光子字符识别结果进行分析,得到键盘对应的标准字符分布信息。
70.s130,根据标准字符分布信息对光学字符识别结果进行修正,得到键盘的目标识别结果。
71.可以理解的是,在对键盘所在区域的图像进行光学字符识别之后,得到的光学字符识别结果可以包括识别出的字符以及字符对应的位置信息,其中,识别出的字符可以包括识别正确的字符以及识别错误的字符。
72.其中,识别正确的字符可以理解为字符识别正确以及字符对应的位置也识别正确,识别错误的字符包括字符识别出错,或者字符识别正确但是字符对应的位置识别错误。
此外,可以理解的是,光学字符识别结果还存在未识别到部分字符的情况。
73.这些情况下,为了能够提高对键盘识别的准确性,可以进一步根据标准字符分布信息对光学字符识别结果进行修正,得到键盘的目标识别结果。
74.在一些实施方式中,本公开实施例的修正可以包括纠正字符识别错误,纠正字符位置识别错误,以及补全未识别到的字符等修正方式。
75.采用上述方法,在获取键盘所在区域的图像对应的光学字符识别结果之后,可以根据光学字符识别结果,获取键盘对应的标准字符分布信息,接着便可以根据标准字符分布信息对光学字符识别结果进行修正,得到键盘的目标识别结果。由于在获取到键盘所在区域的图像对应的光学字符识别结果之后,并不会直接将光学字符识别结果作为最终的识别结果,而是先获取键盘对应的标准字符分布信息,再根据标准字符分布信息对光学字符识别结果进行修正,提高了获得的键盘的目标识别结果的准确性,此外,本公开实施例中只需对键盘识别一次,处理效率比较高,而且是对整个键盘进行识别,字符识别效果较好。
76.此外,在得到键盘的目标识别结果之后,可以将目标识别结果用于自动化测试过程,因此,在一些实施方式中,本公开实施例的方法还可以包括以下步骤:
77.获取自动化测试过程中待输入的字符;
78.基于目标识别结果,确定待输入的字符的位置;
79.触发对位置的虚拟点击行为。
80.其中,待输入的字符可以是通过键盘输入的字符。示例性地,在自动化测试的密码输入过程中,待输入的字符可以是待输入密码串。
81.本公开实施例中,由于目标字符识别结果包括键盘中的字符以及各字符对应的位置(横坐标以及纵坐标),因此,在得到待输入的字符之后,便可以基于目标识别结果,确定待输入的字符的位置,接着便可以触发对位置的虚拟点击行为,从而完成自动化测试过程中通过键盘输入待输入的字符的功能。
82.在一些实施方式中,结合前述内容可知,光学字符识别结果可以包括识别出的字符以及字符对应的位置信息,可选地,位置信息可以是坐标信息,也即,光学字符识别结果包括识别出的字符以及字符对应的坐标信息,这种情况下,如图3所示,上述步骤s120,根据光学字符识别结果,获取键盘对应的标准字符分布信息,包括以下步骤:
83.s310,根据坐标信息,对识别出的各个字符进行分行,得到位于不同行的字符集合。
84.考虑到键盘通常是按行来分布的,因此,可以根据字符与行的对应关系来确定键盘对应的标准字符分布信息。
85.本公开实施例中,可以根据识别出的各个字符的坐标信息(例如可以是纵坐标信息),对各个字符进行分行,从而将识别得到的各个字符分配到不同行中,其中,分行后的每一行包括的字符可以构成一个字符集合。
86.示例性地,如图4所示,示出了对图2中第二种安全键盘中键盘所在区域的图像对应的光学字符识别结果进行分行后的结果,即得到的位于不同行的字符集合,例如,第一行的字符集合中包括字符“1、2、3、a、s、9、6、z、8、o”,其中,各个字符对应的坐标信息图中未示出。其中,“中国xx银行安全键盘”所在行不属于键盘所在区域,在分割出键盘所在区域图像时,可以不包括该部分内容。
87.其中,对于得到的不同行的字符集合,可以根据各行的纵坐标对各行字符集合进行上下排序。
88.在一些实施方式中,字符对应的坐标信息可以根据字符的上、下边界坐标以及左、右边界坐标确定。示例性地,光学字符识别结果具体可以包括字符的上、下边界坐标以及左、右边界坐标,从而,可以根据上、下边界的均值确定字符对应的坐标信息包括的纵坐标,以及根据左、右边界坐标的均值确定字符对应的坐标信息包括的横坐标。
89.s320,基于各行字符集合的特征信息,确定键盘对应的键盘类型。
90.其中,一行字符集合的特征信息可以包括该行字符集合所属的类型以及该行字符集合中包括的字符的数量。本公开实施例中,将各行字符集合所属的类型以及各行包括的字符的数量与预存的键盘类型进行比对,便可以确定键盘对应的键盘类型。
91.其中,根据字符集合所属的类型可以判断键盘是全包括数字的键盘,还是既包括数字的键盘又包括字母的键盘,还是全字母的键盘,同时,由于数字键盘每一行的字符数量较少,因此,进一步结合字符集合中包括的字符的数量可以进一步确定键盘的类型,例如是全键盘、数字键盘或者字母键盘等。
92.在一些实施方式中,考虑到某行字符集合可能包括多种类型的字符,例如,同时包括数字以及字母,此时,可以根据该行字符集合包括的各类型字符的数量确定该行字符集合所属的类型。沿用前述示例,在第一行的字符集合中包括字符“1、2、3、a、s、9、6、z、8、o”,其中,字母为4个,数字为6个,因此,可以将第一行字符集合确定为数字行。
93.此外,考虑到键盘中通常不存在中文字符,因此,可以将存在中文字符的行确定位无意义的字符集合行,从而,还可以在各行字符集合中确定键盘字符的起始行。例如,可以得知图2所示的第一种键盘中,键盘字符的起始行为第一行,最后一行存在中文字符,可以理解为无意义的行。又例如,可以得知图2所示的第二种键盘中,键盘字符的起始行为第一行,最后一行存在中文字符,可以理解为无意义的行。
94.s330,根据键盘类型,确定键盘对应的标准字符分布信息。
95.本公开实施例中,在获取到键盘类型之后,便可以根据预设的标准字符分布信息与键盘类型之间的关联关系,确定键盘对应的标准字符分布信息。
96.其中,标准字符分布信息可以包括键盘的每一按键行中分布的字符,每一按键行中分布的字符的排列顺序,以及各按键行的排列顺序。
97.示例性地,得到的一种标准字符分布信息例如可以是第一按键行依次分布“1、2、3、4、5、6、7、8、9、0”,第二按键行依次分布“q、w、e、r、t、y、u、i、o、p”,第三按键行依次分布“a、s、d、f、g、h、j、k、l”,第四按键行依次分布“z、x、c、v、b、n、m”。
98.在一些实施方式中,标准字符分布信息包括对应键盘的每一按键行分布的标准字符,光学字符识别结果包括识别出的字符以及字符对应的坐标信息,这种情况下,如图5所示,根据标准字符分布信息对光学字符识别结果进行修正,得到键盘的目标识别结果,包括以下步骤:
99.s510,从光学字符识别结果中确定与目标按键行中分布的标准字符对应的目标字符,目标按键行为键盘上的任一按键行。
100.s520,基于目标字符的坐标信息,以及标准字符分布信息中目标按键行分布的标准字符,修正图像中与目标字符处于同一按键行的字符的光学字符识别结果。
101.本公开实施例中,在获取到标准字符分布信息之后,针对键盘上的任一按键行中分布的标准字符,均可以查找光学字符识别结果中是否存在与之对应的目标字符,如果存在对应的目标字符,则可以将目标字符理解为满足标准字符分布信息的字符,认为是识别正确的字符。需要说明的是,此处的对应可以理解为字符相同,以及字符的排列顺序也相同。
102.进而,本公开实施例中,可以进一步结合识别正确的目标字符的坐标信息,以及标准字符分布信息中目标按键行分布的标准字符,修正图像中与目标字符处于同一按键行的字符的光学字符识别结果。也即,对目标按键行中分布的除去与识别正确的目标字符对应的字符之外的其他字符进行修正。
103.在一些实施方式中,标准字符分布信息还包括标准行间顺序,标准行间顺序用于表征键盘的各按键行的排列顺序,标准字符分布信息还包括标准行内顺序,标准行内顺序表征每一按键行中分布的标准字符的排列顺序,这种情况下,如图6所示,上述步骤s510,从光学字符识别结果中确定与目标按键行中分布的标准字符对应的目标字符,具体可以包括以下步骤:
104.s511,根据坐标信息,对识别出的各个字符进行分行,得到位于不同行的字符集合。
105.其中,根据坐标信息,对识别出的各个字符进行分行,得到位于不同行的字符集合的过程可以参考前述实施例,此处不再赘述。
106.需要说明的是,若在前述获取键盘对应的标准字符分布信息时,已经执行了根据坐标信息,对识别出的各个字符进行分行,得到位于不同行的字符集合的过程,本公开实施例中可以不必再重复执行。
107.s512,基于各行字符集合的排列顺序以及标准行间顺序,从各行字符集合中确定与目标按键行对应的目标行字符集合。
108.本公开实施例中,由于标准字符分布信息中包括键盘的每一按键行中分布的字符,以及键盘的各按键行的排列顺序,那么,可以根据各行字符集合的排列顺序以及各按键行的排列顺序,从各行字符集合中确定与目标按键行对应的目标行字符集合。
109.示例性地,沿用前述得到的标准字符分布信息,并结合图4,可以得到图4中的第一行字符集合与标准字符分布信息中的第一按键行对应,图4中的第二行字符集合与标准字符分布信息中的第二按键行对应,图4中的第三行字符集合与标准字符分布信息中的第三按键行对应,图4中的第四行字符集合与标准字符分布信息中的第四按键行对应,图4中的第五行字符集合中包括文字,即为无意义的字符集合。
110.从而,在从各行字符集合中确定与目标按键行对应的目标行字符集合之后,便可以根据目标行字符集合中字符的重复情况,选取不同的方式来确定与目标按键行中分布的标准字符对应的目标字符。
111.可选地,若目标行字符集合中不存在重复的字符,则执行下述步骤s513,若目标行字符集合中存在重复的字符,则执行下述步骤s514-s516。
112.s513,在目标行字符集合中不存在重复的字符时,从目标行字符集合包括的字符中,确定与目标按键行中分布的标准字符相同的字符为对应的目标字符。
113.本公开实施例中,若目标行字符集合中不存在重复的字符,则可以将目标行字符
集合与目标按键行中相同的字符进行一一对应,从而直接将目标行字符集合中与目标按键行中分布的标准字符相同的字符确定为对应的目标字符。
114.示例性地,沿用前述示例,在第一行字符集合中不存在重复的字符,此时,可以将其中的“1、2、3、9、6、8”确定为目标字符。
115.s514,在目标行字符集合中存在重复的字符时,从目标行字符集合包括的字符中,确定与目标按键行中分布的标准字符相同的字符为候选字符。
116.s515,按照目标行字符集合中各个字符的横坐标信息,对各个候选字符进行排序,得到排序结果。
117.s516,将排序结果中满足目标按键行中分布的标准字符的排列顺序的字符确定为目标字符。
118.示例性地,假设在第一行字符集合包括“1、2、3、9、6、8、9”,此时在第一行字符集合中存在重复的字符,此时,可以将其中的“1、2、3、9、6、8、9”确定为候选字符。
119.接着,可以按照目标行字符集合中各个字符的横坐标信息,对各个候选字符进行排序,得到排序结果。假设得到的排序结果为按照横坐标从左到右的排序为“1、2、3、9、6、8、9”。
120.此时,可以将排序结果“1、2、3、9、6、8、9”与第一按键行中分布的字符的排列顺序“1、2、3、4、5、6、7、8、9、0”进行对比,从而得到目标字符为“1、2、3、6、8、9”。也即,去掉了排序结果中的第一个字符“9”。
121.示例性地,为了便于理解,请参阅图7,图7示出了确定出的每一按键行分别对应的目标字符的分布图。
122.可以理解的是,在上述实施方式中,由于是根据与目标按键行中分布的标准字符相同的字符确定的目标字符,相当于去除了识别错误的字符,同时,结合修正图像中与目标字符处于同一按键行的字符的光学字符识别结果的过程,相当于起到了字符纠错以及字符补全的效果。例如,先去掉第一行字符集合中识别出错的“a、s、9、z、o”,得到目标字符“1、2、3、6、8、9”,然后再将字符“4、5、7”对应的识别结果进行补全。
123.在一些实施方式中,如图8所示,上述步骤s520,基于目标字符的坐标信息,以及标准字符分布信息中目标按键行分布的标准字符,修正图像中与目标字符处于同一按键行的字符的光学字符识别结果,具体可以包括以下步骤:
124.s521,根据多个目标字符间的横向距离以及字符间隔数,确定目标按键行的单个字符间隔的宽度。
125.其中,目标按键行中分布的相邻两个字符间存在一个字符间隔,目标字符间的横向距离根据目标字符的横坐标确定。
126.可选地,针对同一行字符集合中的任意两个目标字符,可以计算两个目标字符的横向距离与这两个目标字符间的字符间隔数的比值,接着针对该行字符集合,可以将该行字符集合中所有可以计算得到的比值的均值确定为目标按键行的单个字符间隔的宽度。
127.示例性地,假设第一行字符集合中存在字符“1、6、9”,此时,可以将字符“1”和字符“6”的横坐标的差值,与字符间隔5计算一个比值1,将字符“1”和字符“9”的横坐标的差值,与字符间隔8计算一个比值2,将字符“6”和字符“9”的横坐标的差值,与字符间隔3计算一个比值3,从而将比值1、比值2以及比值3的平均值确定为第一行按键行的单个字符间隔的宽
度。
128.s522,基于各个目标字符的横坐标、待确定字符与各个目标字符之间的字符间隔数以及单个字符间隔宽度,确定待确定字符的横坐标,以及,基于各个目标字符的纵坐标确定待确定字符的纵坐标,待确定字符为目标按键行中除目标字符外的任一字符。
129.本公开实施例中,在确定目标按键行的单个字符间隔的宽度之后,可以以各个目标字符为基准,对目标按键行中待确定字符进行补全。对待确定字符进行补全可以包括横坐标的补全以及纵坐标的补全。
130.其中,待确定字符的横坐标的补全可以看作是确定待确定字符的横坐标的过程,可选地,可以根据各个目标字符的横坐标、待确定字符与各个目标字符之间的字符间隔数以及单个字符间隔宽度确定待确定字符的横坐标。待确定字符的纵坐标的补全可以看作是确定待确定字符的纵坐标的过程,可选地,可以将目标字符的纵坐标确定为待确定字符的纵坐标。
131.在一些实施方式中,上述步骤s522,基于各个目标字符的横坐标、待确定字符与各个目标字符之间的字符间隔数以及单个字符间隔宽度,确定待确定字符的横坐标,可以包括步骤:
132.获取候选字符间隔数与单个字符间隔宽度的乘积,候选字符间隔数为候选目标字符与待确定字符之间的字符间隔数,候选目标字符为目标字符中任一者;
133.基于候选目标字符的横坐标以及乘积,得到待确定字符的一个候选横坐标;
134.基于待确定字符的多个候选横坐标,确定待确定字符的横坐标。
135.可以理解的是,针对任一个目标字符,均可以作为基准来计算待确定字符的横坐标,因此,本公开实施例中,可以将任一个目标字符看作是候选目标字符,从而针对每个候选目标字符,可以获取候选字符间隔数与单个字符间隔宽度的乘积,并将该候选字符的横坐标与该乘积的和作为待确定字符的一个候选横坐标。进而,在将每一个候选目标字符,均用于确定待确定字符的横坐标之后,可以得到待确定字符的多个候选横坐标。
136.可选地,基于待确定字符的多个候选横坐标,确定待确定字符的横坐标可以有多种方式。
137.在一些实施方式中,若存在多个相同的候选横坐标,则可以将该相同的横坐标作为待确定字符的横坐标。
138.在另一些实施方式中,若不存在相同的候选横坐标,则可以将多个横坐标的均值作为待确定字符的横坐标。
139.如图9所示,下面结合一个完整的实施例来对本公开的识别键盘字符的方法进行详细说明。
140.s901,对键盘所在区域的图像进行光学字符识别,得到键盘所在区域的图像对应的光学字符识别结果。
141.其中,光学字符识别结果包括识别出的字符以及字符对应的坐标信息。
142.s902,根据坐标信息,对识别出的各个字符进行分行,得到位于不同行的字符集合。
143.s903,基于各行字符集合的特征信息,确定键盘对应的键盘类型。
144.其中,一行字符集合的特征信息可以包括该行字符集合所属的类型以及该行字符
集合中包括的字符的数量。
145.其中,键盘类型可以包括全键盘、数字键盘、字母键盘等类型。
146.s904,根据键盘类型,确定键盘对应的标准字符分布信息。
147.其中,标准字符分布信息包括对应键盘的每一按键行分布的标准字符、标准行间顺序、以及标准行内顺序。标准行间顺序用于表征所述键盘的各按键行的排列顺序,标准行内顺序表征每一按键行中分布的标准字符的排列顺序。
148.s905,基于各行字符集合的排列顺序以及标准行间顺序,从各行字符集合中确定与目标按键行对应的目标行字符集合。
149.s906,判断目标行字符集合中是否存在重复的字符,若存在,则执行步骤s907,若不存在,则执行步骤s9081。
150.s907,从目标行字符集合包括的字符中,确定与目标按键行中分布的标准字符相同的字符为对应的目标字符。
151.s9081,从目标行字符集合包括的字符中,确定与目标按键行中分布的标准字符相同的字符为候选字符。
152.s9082,按照目标行字符集合中各个字符的横坐标信息,对各个候选字符进行排序,得到排序结果。
153.s9083,将排序结果中满足目标按键行中分布的标准字符的排列顺序的字符确定为目标字符。
154.s909,根据多个目标字符间的横向距离以及字符间隔数,确定目标按键行的单个字符间隔的宽度。
155.其中,目标按键行中分布的相邻两个字符间存在一个字符间隔,目标字符间的横向距离根据目标字符的横坐标确定。
156.s910,基于各个目标字符的横坐标、待确定字符与各个目标字符之间的字符间隔数以及单个字符间隔宽度,确定待确定字符的横坐标,以及,基于各个目标字符的纵坐标确定待确定字符的纵坐标。
157.其中,待确定字符为目标按键行中除目标字符外的任一字符。
158.需要说明的是,关于上述步骤的详细描述可以参考前述实施例中相关描述,此处不再赘述。
159.另外应当理解的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受上文所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,上文所描述的实施例属于优选实施例,所涉及的步骤并不一定是本公开所必须的。
160.基于同一构思,本公开还提供一种识别键盘字符的装置,该装置可以通过软件、硬件或者两者结合的方式成为电子设备的部分或全部。参照图10,该识别键盘字符的装置1000可以包括:
161.第一获取模块1010,用于获取键盘所在区域的图像对应的光学字符识别结果;
162.第二获取模块1020,用于根据所述光学字符识别结果,获取所述键盘对应的标准字符分布信息;
163.修正模块1030,用于根据所述标准字符分布信息对所述光学字符识别结果进行修
正,得到所述键盘的目标识别结果。
164.可选地,所述光学字符识别结果包括识别出的字符以及字符对应的坐标信息,第二获取模块1020,包括:
165.分行子模块,用于根据所述坐标信息,对识别出的各个字符进行分行,得到位于不同行的字符集合;
166.键盘类型确定子模块,用于基于各行字符集合的特征信息,确定所述键盘对应的键盘类型;
167.标准字符分布信息确定子模块,用于根据所述键盘类型,确定所述键盘对应的标准字符分布信息。
168.可选地,所述标准字符分布信息包括对应键盘的每一按键行分布的标准字符,所述光学字符识别结果包括识别出的字符以及字符对应的坐标信息,修正模块,包括:
169.目标字符确定子模块,用于从所述光学字符识别结果中确定与目标按键行中分布的标准字符对应的目标字符,所述目标按键行为键盘上的任一按键行;
170.修正子模块,用于基于所述目标字符的坐标信息,以及所述标准字符分布信息中所述目标按键行分布的标准字符,修正所述图像中与所述目标字符处于同一按键行的字符的光学字符识别结果。
171.可选地,所述标准字符分布信息还包括标准行间顺序,所述标准行间顺序用于表征所述键盘的各按键行的排列顺序,目标字符确定子模块,包括:
172.目标行字符集合确定单元,用于基于各行字符集合的排列顺序以及标准行间顺序,从各行字符集合中确定与所述目标按键行对应的目标行字符集合;
173.第一目标字符确定单元,用于在所述目标行字符集合中不存在重复的字符时,从所述目标行字符集合包括的字符中,确定与所述目标按键行中分布的标准字符相同的字符为所述对应的目标字符。
174.可选地,所述标准字符分布信息还包括标准行内顺序,所述标准行内顺序表征每一按键行中分布的标准字符的排列顺序,目标字符确定子模块,还包括:
175.候选字符确定单元,用于在所述目标行字符集合中存在重复的字符时,从所述目标行字符集合包括的字符中,确定与所述目标按键行中分布的标准字符相同的字符为候选字符;
176.排序单元,用于按照所述目标行字符集合中各个字符的横坐标信息,对各个候选字符进行排序,得到排序结果;
177.第二目标字符确定单元,用于将所述排序结果中满足所述目标按键行中分布的标准字符的排列顺序的字符确定为所述目标字符。
178.可选地,修正子模块,包括:
179.宽度确定单元,用于根据多个目标字符间的横向距离以及字符间隔数,确定所述目标按键行的单个字符间隔的宽度,其中,目标按键行中分布的相邻两个字符间存在一个所述字符间隔,目标字符间的横向距离根据目标字符的横坐标确定;
180.坐标确定单元,用于基于各个目标字符的横坐标、待确定字符与各个目标字符之间的字符间隔数以及单个字符间隔宽度,确定所述待确定字符的横坐标,以及,基于各个目标字符的纵坐标确定所述待确定字符的纵坐标,所述待确定字符为所述目标按键行中除所
述目标字符外的任一字符。
181.可选地,坐标确定单元,包括:
182.乘积获取子单元,用于获取候选字符间隔数与单个字符间隔宽度的乘积,所述候选字符间隔数为候选目标字符与所述待确定字符之间的字符间隔数,所述候选目标字符为所述目标字符中任一者;
183.候选横坐标确定子单元,用于基于所述候选目标字符的横坐标以及所述乘积,得到所述待确定字符的一个候选横坐标;
184.横坐标确定单元,用于基于所述待确定字符的多个候选横坐标,确定所述待确定字符的横坐标。
185.可选地,装置1000还包括:
186.第三获取模块,用于获取自动化测试过程中待输入的字符;
187.确定模块,用于基于所述目标识别结果,确定所述待输入的字符的位置;
188.触发模块,用于触发对所述位置的虚拟点击行为。
189.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
190.基于同一发明构思,本公开还提供一种电子设备,包括:
191.存储器,其上存储有计算机程序;
192.处理器,用于执行所述存储器中的所述计算机程序,以实现上述任一识别键盘字符的方法的步骤。
193.在可能的方式中,该电子设备的框图可以如图11所示。参照图11,该电子设备1100可以包括:处理器1101,存储器1102。该电子设备1100还可以包括多媒体组件1103,输入/输出(i/o)接口1104,以及通信组件1105中的一者或多者。
194.其中,处理器1101用于控制该电子设备1100的整体操作,以完成上述的识别键盘字符的方法中的全部或部分步骤。存储器1102用于存储各种类型的数据以支持在该电子设备1100的操作,这些数据例如可以包括用于在该电子设备1100上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器1102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件1103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1102或通过通信组件1105发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口1104为处理器1101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件1105用于该电子设备1100与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(near field communication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种
的组合,在此不做限定。因此相应的该通信组件1105可以包括:wi-fi模块,蓝牙模块,nfc模块等等。
195.在一示例性实施例中,电子设备1100可以被一个或多个应用专用集成电路(application specific integrated circuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的识别键盘字符的方法。
196.在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的识别键盘字符的方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1102,上述程序指令可由电子设备1100的处理器1101执行以完成上述的识别键盘字符的方法。
197.在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的识别键盘字符的方法的代码部分。
198.以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
199.另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
200.此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1