CN113778312B - 虚拟键盘显示方法、装置、设备及计算机可读存储介质 - Google Patents
虚拟键盘显示方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113778312B CN113778312B CN202110946103.7A CN202110946103A CN113778312B CN 113778312 B CN113778312 B CN 113778312B CN 202110946103 A CN202110946103 A CN 202110946103A CN 113778312 B CN113778312 B CN 113778312B
- Authority
- CN
- China
- Prior art keywords
- value
- virtual keyboard
- key
- calculating
- abrasion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000005299 abrasion Methods 0.000 claims abstract description 76
- 230000001133 acceleration Effects 0.000 claims description 40
- 238000010586 diagram Methods 0.000 claims description 37
- 230000001186 cumulative effect Effects 0.000 claims description 7
- 230000002194 synthesizing effect Effects 0.000 claims description 7
- 238000005260 corrosion Methods 0.000 claims description 6
- 230000007797 corrosion Effects 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 13
- 230000032683 aging Effects 0.000 description 12
- 238000009877 rendering Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- User Interface Of Digital Computer (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本发明公开了一种虚拟键盘显示方法、装置、设备及计算机可读存储介质,虚拟键盘显示方法包括:获取移动终端的累计振动事件,根据所述累计振动事件计算所述移动终端的虚拟键盘磨损值;根据所述虚拟键盘磨损值生成所述虚拟键盘。本发明实现了根据不同的磨损程度做出差异化的展现效果,在虚拟键盘上渲染出真实使用纹理的功能效果。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种虚拟键盘显示方法、装置、设备及计算机可读存储介质。
背景技术
随着触摸屏的普及,虚拟键盘已经被广泛应用在了各种移动终端上。但各种虚拟键盘始终都只能呈现出一致的视觉效果,并不会根据使用次数的增加而产生任何变化。每个按键自始至终都是展示同样的背景图像,没有任何磨损带来的痕迹。这与实际生活中物理键盘的体验差距明显,无法满足多样化的需求。
发明内容
本发明的主要目的在于提供一种虚拟键盘显示方法、装置、设备及计算机可读存储介质,旨在解决现有虚拟键盘的使用自始至终展示同样的背景图像,显示方式单一,使用体验单一的技术问题。
为实现上述目的,本发明提供一种虚拟键盘显示方法,包括以下步骤:
获取移动终端的累计振动事件,根据所述累计振动事件计算所述移动终端的虚拟键盘磨损值;
根据所述虚拟键盘磨损值生成所述虚拟键盘。
可选地,所述虚拟键盘磨损值包括按键磨损值,
所述根据所述累计振动事件计算所述移动终端的虚拟键盘磨损值,包括:
确定所述累计振动事件中所有按键方向的加速度总量,计算各所述加速度总量的绝对值之和的平方,得到第一数值;
计算所述第一数值和所述移动终端的总使用时长之间的第一和值,将所述第一和值作为整体磨损值,根据所述整体磨损值确定所述按键磨损值。
可选地,所述根据所述整体磨损值确定所述按键磨损值,还包括:
确定所述移动终端中虚拟按键的累计点击次数和累计按压时间;
计算所述累计按压时间和预设定值的第一比例值,并将所述第一比例值的平方作为第二数值;
计算所述累计点击次数、所述累计按压时间、所述虚拟按键的开启次数和所述整体磨损值的第二和值,根据所述第二和值确定按键磨损值。
可选地,所述根据所述第二和值确定按键磨损值,包括:
若所述第二和值大于或等于预设最大值,则将所述预设最大值作为按键磨损值;或,
若所述第二和值小于预设最大值,则将所述第二和值作为按键磨损值。
可选地,所述根据所述虚拟键盘磨损值生成所述虚拟键盘,包括:
获取所述移动终端中虚拟按键的原图,根据所述虚拟键盘磨损值计算目标像素色值,根据所述目标像素色值和所述原图构建初始键盘画面;
确定所述初始键盘画面对应的裂纹蒙层图,根据所述累计振动事件对所述裂纹蒙层图进行调整,并将调整后的所述裂纹蒙层图和所述初始键盘画面进行合成,得到虚拟键盘。
可选地,所述根据所述虚拟键盘磨损值计算目标像素色值,包括:
获取所述原图对应的预设蒙层图,并对所述原图进行灰度去噪腐蚀处理,得到通道图;
确定所述原图中的第一像素,所述通道图中所述第一像素对应的第二像素和所述预设蒙层图中所述第一像素对应的第三像素;
若所述第二像素对应的颜色和预设颜色相同,则计算所述按键磨损值和预设最大值之间的第二比例值,并计算所述第二比例值和所述第一像素之间的第一乘积;
计算预设初始数值和所述第二比例值的第一差值,计算所述第一差值和所述第三像素之间的第二乘积,并将所述第一乘积和所述第二乘积之间的和值作为目标像素色值。
可选地,所述根据所述累计振动事件对所述裂纹蒙层图进行调整,包括:
确定所述累计振动事件中所述裂纹蒙层图对侧的按键方向,并根据所述裂纹蒙层图对侧的按键方向的加速度总量对所述裂纹蒙层图的透明度进行调整。
此外,为实现上述目的,本发明还提供一种虚拟键盘显示装置,包括:
获取模块,用于获取移动终端的累计振动事件,根据所述累计振动事件计算所述移动终端的虚拟键盘磨损值;
生成模块,用于根据所述虚拟键盘磨损值生成所述虚拟键盘。
此外,为实现上述目的,本发明还提供一种虚拟键盘显示设备,虚拟键盘显示设备包括存储器、处理器及存储在存储器上并可在处理器上运行的虚拟键盘显示程序,虚拟键盘显示程序被处理器执行时实现如上述的虚拟键盘显示方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有虚拟键盘显示程序,虚拟键盘显示程序被处理器执行时实现如上述的虚拟键盘显示方法的步骤。
本发明通过根据移动终端的累计振动事件计算移动终端的虚拟键盘磨损值,并根据虚拟键盘磨损值生成虚拟键盘。从而避免了现有技术中现有虚拟键盘的使用自始至终展示同样的背景图像,显示方式单一,使用体验单一的现象发生,可以实现根据不同的磨损程度做出差异化的展现效果,实现在虚拟键盘上渲染出真实使用纹理的功能效果,给用户带来更接近真实的用户体验。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端\装置结构示意图;
图2为本发明虚拟键盘显示方法第一实施例的流程示意图;
图3为本发明虚拟键盘显示装置的装置模块示意图;
图4为本发明虚拟键盘显示方法中的流程示意图;
图5为本发明虚拟键盘显示的显示场景示意图;
图6为本发明虚拟键盘调整后的显示场景示意图;
图7为本发明虚拟键盘显示方法中通道图的制作场景示意图;
图8为本发明虚拟键盘显示方法中的虚拟按键渲染场景示意图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端为虚拟键盘显示设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在终端设备移动到耳边时,关闭显示屏和/或背光。当然,终端设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及虚拟键盘显示程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的虚拟键盘显示程序,并执行以下操作:
参照图2,本发明提供一种虚拟键盘显示方法,在虚拟键盘显示方法的第一实施例中,虚拟键盘显示方法包括以下步骤:
步骤S10,获取移动终端的累计振动事件,根据所述累计振动事件计算所述移动终端中的虚拟键盘磨损值;
键盘是人机沟通的桥梁,是使用率最为频繁的人机交互设备。物理键盘会随着使用时间的增加而产生磨损现象:字迹模糊、发黄变色。现有技术并不能真实地体现这些伴随使用过程带来的变化。因此在本实施例中,通过按键交互将人机交互的痕迹真实地展现在虚拟键盘上,提高了纹理再现时的真实感,丰富了用户体验。并且,可以根据用户对不同按键的点击次数和按压时间模拟计算磨损程度,并做出差异化的展现效果,实现在虚拟键盘上渲染出真实使用纹理的功能效果,给用户带来更接近真实的用户体验。其中,移动终端可以为手机、平板电脑等终端。
并且在本实施例中,会提供一种虚拟键盘显示的系统,其系统架构如图4所示,当移动终端为手机时,并在手机启动时,会读取本地配置,并记录、更新手机使用时长,若需要显示键盘,则接收用户点、按操作,监控撞击产生的加速度,根据这些参数计算磨损值,即每个按键的磨损值,并根据各个磨损值实时调整键盘显示效果,若继续使用软键盘,则返回显示键盘操作;若退出软键盘,则将计算结果存储在匹配文件中。其中,监听手机启动、关机事件,在手机启动后,确定手机启动时间,关机前记录关机时间,并计算时间差值,得到此次手机的使用时长,累加手机的所有使用时长,得到总使用时长,并将总使用时长记录到本地配置文件中。其中,时间差值=关机时间-上次启动时间。并且在软键盘启动后,从配置文件中读取手机的总使用时长。并且系统通过手机陀螺仪监测手机的振动情况,将导致较大加速度的振动情况作为振动事件记录到本地配置文件。其中,本地配置文件数据包括手机使用总时长、由于撞击或振动产生的加速度累计值、每个按键的磨损值。其中本地配置文件的设置可以如表1所示。
参数 | 数值 | 参数 | 数值 |
手机使用总时长 | T | 指向左边加速度总量 | A_left |
指向右边加速度总量 | A_right | 指向上边加速度总量 | A_up |
指向下边加速度总量 | A_down | 按键1的磨损值 | F1 |
按键2的磨损值 | F2 | 按键3的磨损值 | F3 |
... | ... | 按键N的磨损值 | FN |
表1
并且在本实施例中,获取到移动终端的总使用时长和累计振动事件后,需要计算移动终端中软键盘的整体磨损程度,每个虚拟按键的磨损值,即按键磨损值。每个按键的磨损值F主要受到2个方面因素的影响:点击次数C和按压时间D。其中点击次数反映了按键的使用频率;用户手指在按键上按压的时间长度则反映了按键的力度。整个键盘(包括了按键以及按键以外的面板、显示屏等区域)的磨损程度还与手机总体使用时长有关,使用时间越长,老化程度越大。另外,手机受到较大力度的碰撞,也会加速磨损,甚至产生键盘表面的裂痕。
磨损值F为浮点数;点击次数C和按压时间D均以整数的形式表示,最小值为0,最大值设为MAX,停留时间D单位为毫秒。其中MAX是根据不同系统、不同应用而预设的阈值边界。磨损值F用一个关于C和D的二元一次方程表示。为了反映键盘整体的磨损程度,引入一个加权系数K,K=软键盘打开次数。还需结合手机的使用总时长T,表现键盘整体的老化程度。按键按压时间反映按键力度对按键磨损程度影响较大,故采用抛物线方程取非线性数值。
键盘整体老化程度=手机使用总时长+各方向加速度绝对值之和的平方
AGING=T+(Abs(A_left)+Abs(A_right)+Abs(A_up)+Abs(A_down)/4)2(其中加速度累计值不超过最大值Amax),其中,AGING为整体磨损值。
单个按键的磨损值(即按键磨损值)=按键累计点击次数+(按键累计按压时间/1000)的平方+软键盘打开次数+键盘整体老化程度
F=C+(D/1000)2+K+AGING
如果F大于等于MAX(如10000),则取值MAX。
并且,在本实施例中,虚拟键盘磨损值包括单个按键的磨损值,即按键磨损值。
步骤S20,根据所述虚拟键盘磨损值生成所述虚拟键盘;
当计算得到软键盘中各个虚拟按键的按键磨损值后,会进行虚拟键盘的视觉呈现,即先为每个虚拟按键准备一张呈现出磨损效果的做旧蒙层位图(即预设按键蒙层图),并根据每个虚拟按键的原背景图构建对应的通道图,再根据各个虚拟按键的按键磨损值,将所有的按键原背景图、预设按键蒙层图和通道图进行像素数据的综合计算,得到虚拟键盘中所有虚拟按键对应的目标像素色值,再将各个目标像素色值绘制到移动终端的屏幕面板上,并将形成的画面作为初始键盘画面。其中,目标像素色值为经过调整后,虚拟按键像素的色值。
当构建完成初始键盘画面后,需要进行移动终端的屏幕面板渲染,而面板的面板的磨损值与按键不同,无需考虑点击次数和力度。渲染方式与按键相同,只是磨损值的计算公式不同。即面板的磨损值F=虚拟键盘打开次数K+整体磨损值AGING;其中,整体磨损值为虚拟键盘整体老化程度。
并且,面板的渲染需要表现为移动终端受到摔打、撞击带来的破损。因此可以在虚拟键盘的键盘方向,如上下左右各方向均叠加一张带有裂纹的透明度100%的蒙层,即裂纹蒙层图。并且在本实施例中,随着各个方向上累积的加速度A的增加,实时对裂纹蒙层图进行调整。例如,方向向左的累积加速度A_left代表手机受到了来自右侧的撞击,从而使得手机右侧带来了一定的破损。则会降低右侧的裂纹蒙层图的透明度。并且在本实施例中,蒙层的透明度P是介于0到100间的数值,计算方式如下:蒙层透明度P=100-对侧加速度A/加速度最大值Amax*100。
当将各个裂纹蒙层图进行调整后,得到调整后的各个裂纹蒙层图时,可以将调整后的各个裂纹蒙层图和初始键盘画面进行合成,并将合成的画面作为虚拟键盘,再输出显示虚拟键盘。例如,以右侧裂纹为例,受到了向左的加速度A_left,计算出蒙层透明度P_right,将键盘与裂纹蒙层叠加。裂纹蒙层是与键盘图像长宽尺寸相同的图像,叠加时将裂纹蒙层置于顶层,并根据计算出的透明度P改变裂纹蒙层的透明度。然后将二者叠加合成为新的图像,即目标虚拟键盘画面。例如,如图5、图6所示,在移动终端的显示界面中会显示虚拟键盘的键盘画面+按键,和裂纹蒙层,当检测到向左的加速度A_left时,移动终端显示的画面会由图5所示调整为图6所示。
在本实施例中,通过通过根据移动终端的总使用时长和累计振动事件计算虚拟键盘的所有按键磨损值,并根据各个按键磨损值计算目标像素色值,根据目标像素色值构建初始键盘画面,再根据累计振动事件对初始键盘画面对应的所有裂纹蒙层图进行调整,并在调整后将其与初始键盘画面进行合成,得到目标虚拟键盘画面,显示目标虚拟键盘画面。从而避免了现有技术中现有虚拟键盘的使用自始至终展示同样的背景图像,显示方式单一,使用体验单一的现象发生,可以实现根据不同的磨损程度做出差异化的展现效果,实现在虚拟键盘上渲染出真实使用纹理的功能效果,给用户带来更接近真实的用户体验。
进一步地,基于上述本发明的第一实施例,提出本发明虚拟键盘显示方法的第二实施例,在本实施例中,上述实施例步骤S10,根据所述总使用时长和所述累计振动事件计算所述移动终端中虚拟键盘的所有按键磨损值的步骤的细化,包括:
步骤a,确定所述累计振动事件中所有按键方向的加速度总量,计算各所述加速度总量的绝对值之和的平方,得到第一数值;
在本实施例中,虚拟键盘模式值包括按键磨损值,在计算按键磨损值时,需要先确定有效的累计振动事件中所有按键方向的加速度总量,如指向左边加速度总量;指向右边加速度总量;指向上边加速度总量和指向下边加速度总量。再计算各个加速度总量的绝对值和值,并计算该绝对值和值的平方,将得到的数值作为第一数值。
步骤b,计算所述第一数值和所述移动终端的总使用时长之间的第一和值,将所述第一和值作为整体磨损值,根据所述整体磨损值确定所述按键磨损值。
再计算第一数值和总使用时长的和值,即第一和值,并将第一和值作为移动终端中软键盘的整体磨损值,即键盘整体老化程度。并在计算得到整体磨损值后,可以通过整体磨损值依次计算得到所有虚拟按键的按键磨损值。
在本实施例中,通过技术所有按键方向的加速度总量的绝对值之和的平方,得到第一数值,并将第一数值和总使用时长的第一和值作为整体磨损值,再根据整体磨损值确定按键磨损值,从而保障了获取到的按键磨损值的准确性。
具体地,根据所述整体磨损值确定所述按键磨损值的步骤,包括:
步骤c,遍历所述移动终端中虚拟按键的累计点击次数和累计按压时间;
当虚拟键盘中的虚拟按键存在多个时,可以遍历各个虚拟按键,确定遍历的虚拟按键的累计点击次数(即从移动终端出厂时间到当前时间,该虚拟按键的使用频率),确定遍历的虚拟按键的累计按压时间(即从移动终端出厂时间到当前时间,用户手指在该虚拟按键上按压的时间长度)。
步骤d,计算所述累计按压时间和预设定值的第一比例值,并将所述第一比例值的平方作为第二数值;
预设定值可以为用户提前设置的任意定值,如1000。计算累计按压时间和预设定值的比例值,即第一比例值,并计算第一比例值的平方,将其作为第二数值,即第二数值为(D/1000)2,其中,D为累计按压时间。
步骤e,计算所述累计点击次数、所述累计按压时间、所述虚拟键盘的开启次数和所述整体磨损值的第二和值,根据所述第二和值确定所述按键磨损值。
再计算累计点击次数、累计按压时间、虚拟键盘的开启次数(即移动终端从出厂时刻到当前时刻虚拟键盘启动的次数)和整体磨损值的和值,并将其作为第二和值,再根据该第二和值来确定遍历的虚拟按键的按键磨损值。
在本实施例中,通过根据虚拟按键的累计点击次数、累计按压时间和虚拟键盘的开启次数计算虚拟按键的按键磨损值,从而保障了获取到的按键磨损值的准确性。
具体地,根据所述第二和值确定按键磨损值的步骤,包括:
步骤f,若所述第二和值大于或等于预设最大值,则将所述预设最大值作为按键磨损值;或,
当计算得到第二和值后,需要将第二和值和预设最大值MAX进行比较,若第二和值大于或等于预设最大值,则可以直接将此预设最大值作为遍历的虚拟按键对应的按键磨损值。其中,预设最大值为用户提前设置的任意数值。
步骤g,若所述第二和值小于预设最大值,则将所述第二和值作为按键磨损值。
若第二和值小于预设最大值,则可以直接将此第二和值作为遍历的虚拟按键对应的按键磨损值。
在本实施例中,通过将第二和值和预设最大值进行对比,以确定按键磨损值,从而保障了获取到的按键磨损值的有效性。
进一步地,根据所述虚拟键盘磨损值生成所述虚拟键盘的步骤,包括:
步骤h,获取所述移动终端中虚拟按键的原图,根据所述虚拟键盘磨损值计算目标像素色值,根据所述目标像素色值和所述原图构建初始键盘画面;
在本实施例中,可以先获取移动终端中虚拟按键的原图,再计算虚拟按键对应的按键磨损值和预设最大值之间的比例值,并将其作为第二比例值,即第二比例值F’=F/MAX;其中,F为虚拟按键对应的按键磨损值。MAX为预设最大值。然后再将原背景图、原背景图对应的预设按键蒙层图和通道图依次叠加,并根据第二比例值来计算确定遍历的虚拟按键对应的所有目标像素色值。例如,如图8所示,将原图、蒙层图和通道图进行叠加后,会得到最终效果的图像,将此最终效果的图像中的像素色值依次绘制到屏幕面板上,得到初始键盘画面。
步骤k,确定所述初始键盘画面对应的裂纹蒙层图,根据所述累计振动事件对所述裂纹蒙层图进行调整,并将调整后的所述裂纹蒙层图和所述初始键盘画面进行合成,得到虚拟键盘。
当构建完成初始键盘画面后,需要进行移动终端的屏幕面板渲染,而面板的面板的磨损值与按键不同,无需考虑点击次数和力度。渲染方式与按键相同,只是磨损值的计算公式不同。即面板的磨损值F=虚拟键盘打开次数K+整体磨损值AGING;其中,整体磨损值为虚拟键盘整体老化程度。并且,面板的渲染需要表现为移动终端受到摔打、撞击带来的破损。因此可以在虚拟键盘的键盘方向,如上下左右各方向均叠加一张带有裂纹的透明度100%的蒙层,即裂纹蒙层图。
再根据累计震动事件中不同方向的加速度对裂纹蒙层图进行调整,再将调整后的各个裂纹蒙层图和初始键盘画面进行合成,并将合成的画面作为虚拟键盘,再输出显示虚拟键盘。
在本实施例中,通过根据虚拟键盘磨损值计算的目标像素色值和虚拟按键的原图构建初始键盘画面,并根据累计振动事件对初始键盘画面进行调整,再将调整后的裂纹蒙层图和初始键盘画面进行合成,得到虚拟键盘,从而保障了获取到的虚拟键盘的准确性。
具体地,根据所述虚拟键盘磨损值计算目标像素色值的步骤,包括:
步骤m,获取所述原图对应的预设蒙层图,并对所述原图进行灰度去噪腐蚀处理,得到通道图;
在本实施例中,可以遍历各个虚拟键盘中的虚拟按键,并确定遍历的虚拟按键对应的原背景图,和提前为遍历的虚拟按键设置的做旧蒙层位图,即预设按键蒙层图。然后可以如图7所示,对原图(即原背景图)进行二值化、膨胀去噪、腐蚀处理,得到通道图。即为了能够保证按键上的文字清晰,需要先将文字的大致区域标记出来。首先,将背景图做二值化处理,即形成仅有黑白两色的灰度图。此处的背景图不是标记了文字笔画的图像,而是包含了文字笔画线条和周边区域的矩形图像。二值化是对整个图像做了处理,将整个图像转变成只有黑白两色的图像。通道图的制作,核心是找出文字的笔画线条。然后,对此灰度图应用“膨胀”算法,去除噪点。最后,对图像进行“腐蚀”处理,扩张文字区域,从而得到通道图。
步骤n,确定所述原图中的第一像素,所述通道图中所述第一像素对应的第二像素和所述预设蒙层图中所述第一像素对应的第三像素;
并且原图、蒙层图、通道图为3张长宽尺寸(如W x L)相同的点阵图。点阵图的每个像素点都包含一个色值,通常是由一个整型数表示。原图、蒙层图、通道图可以完全叠加、覆盖,所有像素一一对应。遍历原图上每个像素时,在蒙层图和通道图相同位置上都有一个与之对应的像素,位置索引完全一致。这样只需要通过索引来获取不同图像对应的像素即可。因此需要先确定原背景图中的所有像素,即第一像素,并确定通道图中与各个第一像素对应的像素,将其作为第二像素。确定预设按键蒙层图中与各个第一像素对应的像素,将其作为第三像素。
步骤o,若所述第二像素对应的颜色和预设颜色相同,则计算所述按键磨损值和预设最大值之间的第二比例值,并计算所述第二比例值和所述第一像素之间的第一乘积;
步骤p,计算预设初始数值和所述第二比例值的第一差值,计算所述第一差值和所述第三像素之间的第二乘积,并将所述第一乘积和所述第二乘积之间的和值作为目标像素色值。
再遍历各个第一像素,检测遍历的第一像素对应通道图中的第二像素的颜色,若为白色,则可以保持遍历的第一像素不变,即将第一像素作为像素色值。若为黑色,则计算第二比例和遍历的第一像素的乘积,即第一乘积。其中,预设初始数值为用户提前设置的数值,如1。计算预设初始数值和第二比例值的差值,并将其作为第一差值,然后再计算第一差值和遍历的第一像素对应的第三像素的乘积,并将其作为第二乘积,再计算第一乘积和第二乘积的和值作为遍历的第一像素对应的像素色值,并且在本实施例中,会将所有第一像素对应的像素色值作为遍历的虚拟按键对应的目标像素色值。
也就是如果原背景图中遍历的第一像素所对应通道图像素为黑色,则结合蒙层图相应像素的色值M进行计算。根据像素坐标索引,如(m,n),可以从图像数据区中获取到相应坐标像素的色值M=getColor(m,n)。
V’=V*F’+M*(1 F’);
如果蒙层图相应像素是白色,则原图像素色值V保持不变:
V’=V;
并将计算得到的目标像素色值V’绘制到屏幕面板上。
在本实施例中,通过在原背景图中的第一像素对应通道图中的第二像素为黑色时,对第一像素进行调整,并将调整后的第一像素作为像素色值,再根据所有的像素色值确定遍历的虚拟按键对应的目标像素色值,从而保障了获取到的目标像素色值的准确性。
进一步地,根据所述累计振动事件对所述裂纹蒙层图进行调整的步骤,包括:
步骤q,确定所述累计振动事件中裂纹蒙层图对侧的按键方向,并根据所述裂纹蒙层图对侧的按键方向的加速度总量对所述裂纹蒙层图的透明度进行调整。
在本实施例中,在对各个裂纹蒙层图进行调整时,需要先确定累计振动事件中所有按键方向的加速度总量,并遍历各个裂纹蒙层图,确定各个按键方向中遍历的裂纹蒙层图对应的对侧按键方向。例如,若遍历的裂纹蒙层图在初始键盘画面的左侧,则对侧按键方向为初始键盘画面的右侧,并根据对侧按键方向的加速度总量对遍历的裂纹蒙层图的透明度进行调整。
在本实施例中,通过根据加速度总量对裂纹蒙层图的透明度进行调整,从而实现了虚拟键盘显示的多样化的效果。
此外,参照图3,本发明实施例还提供一种虚拟键盘显示装置,包括:
获取模块A10,用于获取移动终端的累计振动事件,根据所述累计振动事件计算所述移动终端的虚拟键盘磨损值;
生成模块A20,用于根据所述虚拟键盘磨损值生成所述虚拟键盘。
可选地,所述虚拟键盘磨损值包括按键磨损值,获取模块A10,用于:
确定所述累计振动事件中所有按键方向的加速度总量,计算各所述加速度总量的绝对值之和的平方,得到第一数值;
计算所述第一数值和所述移动终端的总使用时长之间的第一和值,将所述第一和值作为整体磨损值,根据所述整体磨损值确定所述按键磨损值。
可选地,获取模块A10,用于:
确定所述移动终端中虚拟按键的累计点击次数和累计按压时间;
计算所述累计按压时间和预设定值的第一比例值,并将所述第一比例值的平方作为第二数值;
计算所述累计点击次数、所述累计按压时间、所述虚拟按键的开启次数和所述整体磨损值的第二和值,根据所述第二和值确定按键磨损值。
可选地,获取模块A10,用于:
若所述第二和值大于或等于预设最大值,则将所述预设最大值作为按键磨损值;或,
若所述第二和值小于预设最大值,则将所述第二和值作为按键磨损值。
可选地,生成模块A20,用于:
获取所述移动终端中虚拟按键的原图,根据所述虚拟键盘磨损值计算目标像素色值,根据所述目标像素色值和所述原图构建初始键盘画面;
确定所述初始键盘画面对应的裂纹蒙层图,根据所述累计振动事件对所述裂纹蒙层图进行调整,并将调整后的所述裂纹蒙层图和所述初始键盘画面进行合成,得到虚拟键盘。
可选地,生成模块A20,用于:
获取所述原图对应的预设蒙层图,并对所述原图进行灰度去噪腐蚀处理,得到通道图;
确定所述原图中的第一像素,所述通道图中所述第一像素对应的第二像素和所述预设蒙层图中所述第一像素对应的第三像素;
若所述第二像素对应的颜色和预设颜色相同,则计算所述按键磨损值和预设最大值之间的第二比例值,并计算所述第二比例值和所述第一像素之间的第一乘积;
计算预设初始数值和所述第二比例值的第一差值,计算所述第一差值和所述第三像素之间的第二乘积,并将所述第一乘积和所述第二乘积之间的和值作为目标像素色值。
可选地,生成模块A20,用于:
确定所述累计振动事件中所述裂纹蒙层图对侧的按键方向,并根据所述裂纹蒙层图对侧的按键方向的加速度总量对所述裂纹蒙层图的透明度进行调整。
其中,虚拟键盘显示装置的各个功能模块实现的步骤可参照本发明虚拟键盘显示方法的各个实施例,此处不再赘述。
此外,本发明还提供一种虚拟键盘显示设备,所述虚拟键盘显示设备包括:存储器、处理器及存储在所述存储器上的虚拟键盘显示程序;所述处理器用于执行所述虚拟键盘显示程序,以实现上述虚拟键盘显示方法各实施例的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述虚拟键盘显示方法各实施例的步骤。
本发明计算机可读存储介质具体实施方式与上述虚拟键盘显示方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种虚拟键盘显示方法,其特征在于,包括:
获取移动终端的累计振动事件,根据所述累计振动事件计算所述移动终端的虚拟键盘磨损值,其中,所述虚拟键盘磨损值包括按键磨损值,所述根据所述累计振动事件计算所述移动终端的虚拟键盘磨损值,包括:确定所述累计振动事件中所有按键方向的加速度总量,计算各所述加速度总量的绝对值之和的平方,得到第一数值;计算所述第一数值和所述移动终端的总使用时长之间的第一和值,将所述第一和值作为整体磨损值,根据所述整体磨损值确定所述按键磨损值;
根据所述虚拟键盘磨损值生成所述虚拟键盘,其中,获取所述移动终端中虚拟按键的原图,根据所述虚拟键盘磨损值计算目标像素色值,根据所述目标像素色值和所述原图构建初始键盘画面;确定所述初始键盘画面对应的裂纹蒙层图,根据所述累计振动事件对所述裂纹蒙层图进行调整,并将调整后的所述裂纹蒙层图和所述初始键盘画面进行合成,得到虚拟键盘。
2.如权利要求1所述的虚拟键盘显示方法,其特征在于,所述根据所述整体磨损值确定所述按键磨损值,还包括:
确定所述移动终端中虚拟按键的累计点击次数和累计按压时间;
计算所述累计按压时间和预设定值的第一比例值,并将所述第一比例值的平方作为第二数值;
计算所述累计点击次数、所述累计按压时间、所述虚拟按键的开启次数和所述整体磨损值的第二和值,根据所述第二和值确定按键磨损值。
3.如权利要求2所述的虚拟键盘显示方法,其特征在于,所述根据所述第二和值确定按键磨损值,包括:
若所述第二和值大于或等于预设最大值,则将所述预设最大值作为按键磨损值;或,
若所述第二和值小于预设最大值,则将所述第二和值作为按键磨损值。
4.如权利要求1所述的虚拟键盘显示方法,其特征在于,所述根据所述虚拟键盘磨损值计算目标像素色值,包括:
获取所述原图对应的预设蒙层图,并对所述原图进行灰度去噪腐蚀处理,得到通道图;
确定所述原图中的第一像素,所述通道图中所述第一像素对应的第二像素和所述预设蒙层图中所述第一像素对应的第三像素;
若所述第二像素对应的颜色和预设颜色相同,则计算所述按键磨损值和预设最大值之间的第二比例值,并计算所述第二比例值和所述第一像素之间的第一乘积;
计算预设初始数值和所述第二比例值的第一差值,计算所述第一差值和所述第三像素之间的第二乘积,并将所述第一乘积和所述第二乘积之间的和值作为目标像素色值。
5.如权利要求1所述的虚拟键盘显示方法,其特征在于,所述根据所述累计振动事件对所述裂纹蒙层图进行调整,包括:
确定所述累计振动事件中所述裂纹蒙层图对侧的按键方向,并根据所述裂纹蒙层图对侧的按键方向的加速度总量对所述裂纹蒙层图的透明度进行调整。
6.一种虚拟键盘显示装置,其特征在于,所述虚拟键盘显示装置包括:
获取模块,用于获取移动终端的累计振动事件,根据所述累计振动事件计算所述移动终端的虚拟键盘磨损值,其中,所述虚拟键盘磨损值包括按键磨损值,所述根据所述累计振动事件计算所述移动终端的虚拟键盘磨损值,包括:确定所述累计振动事件中所有按键方向的加速度总量,计算各所述加速度总量的绝对值之和的平方,得到第一数值;计算所述第一数值和所述移动终端的总使用时长之间的第一和值,将所述第一和值作为整体磨损值,根据所述整体磨损值确定所述按键磨损值;
生成模块,用于根据所述虚拟键盘磨损值生成所述虚拟键盘,其中,获取所述移动终端中虚拟按键的原图,根据所述虚拟键盘磨损值计算目标像素色值,根据所述目标像素色值和所述原图构建初始键盘画面;确定所述初始键盘画面对应的裂纹蒙层图,根据所述累计振动事件对所述裂纹蒙层图进行调整,并将调整后的所述裂纹蒙层图和所述初始键盘画面进行合成,得到虚拟键盘。
7.一种虚拟键盘显示设备,其特征在于,所述虚拟键盘显示设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的虚拟键盘显示程序,所述虚拟键盘显示程序被所述处理器执行时实现如权利要求1至5中任一项所述的虚拟键盘显示方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有虚拟键盘显示程序,所述虚拟键盘显示程序被处理器执行时实现如权利要求1至5中任一项所述的虚拟键盘显示方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110946103.7A CN113778312B (zh) | 2021-08-17 | 2021-08-17 | 虚拟键盘显示方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110946103.7A CN113778312B (zh) | 2021-08-17 | 2021-08-17 | 虚拟键盘显示方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113778312A CN113778312A (zh) | 2021-12-10 |
CN113778312B true CN113778312B (zh) | 2024-04-23 |
Family
ID=78838175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110946103.7A Active CN113778312B (zh) | 2021-08-17 | 2021-08-17 | 虚拟键盘显示方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113778312B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116883542A (zh) * | 2022-11-22 | 2023-10-13 | 广州开得联软件技术有限公司 | 图像处理方法、装置、电子设备和存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901106A (zh) * | 2009-05-26 | 2010-12-01 | 美国智能科技有限公司 | 用于数据输入的方法及装置 |
CN102203716A (zh) * | 2011-05-13 | 2011-09-28 | 华为终端有限公司 | 按键显示方式的更新方法及无线手持设备 |
KR20110139380A (ko) * | 2010-06-23 | 2011-12-29 | 엘지전자 주식회사 | 이동 단말기 및 이것의 디스플레이 방법 |
CN102419691A (zh) * | 2011-11-18 | 2012-04-18 | 聂清永 | 虚拟键盘上符号标识的显示方法及其显示装置 |
CN105117161A (zh) * | 2015-09-10 | 2015-12-02 | 广东欧珀移动通信有限公司 | 调整移动终端虚拟按键的方法、装置和移动终端 |
CN109471586A (zh) * | 2018-10-26 | 2019-03-15 | 麒麟合盛网络技术股份有限公司 | 一种键帽配色方法、装置和终端设备 |
CN110531862A (zh) * | 2019-09-16 | 2019-12-03 | 百度时代网络技术(北京)有限公司 | 一种输入交互方法及装置 |
CN111427447A (zh) * | 2020-03-04 | 2020-07-17 | 青岛小鸟看看科技有限公司 | 虚拟键盘的显示方法、头戴显示设备及系统 |
CN111708475A (zh) * | 2020-05-25 | 2020-09-25 | 北京百度网讯科技有限公司 | 虚拟键盘的生成方法和装置 |
CN112162652A (zh) * | 2020-08-31 | 2021-01-01 | 星络智能科技有限公司 | 智能面板虚拟按键调整方法及系统 |
CN112925417A (zh) * | 2021-02-25 | 2021-06-08 | 吉林大学 | 一种用于信息识别的虚拟键盘按键触觉传输方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102007059273A1 (de) * | 2007-12-08 | 2009-06-18 | T-Mobile Internationale Ag | Virtuelle Tastatur eines mobilen Endgerätes |
US8928589B2 (en) * | 2011-04-20 | 2015-01-06 | Qualcomm Incorporated | Virtual keyboards and methods of providing the same |
CN102855087A (zh) * | 2012-09-12 | 2013-01-02 | 中兴通讯股份有限公司 | 输入方法、装置及终端 |
-
2021
- 2021-08-17 CN CN202110946103.7A patent/CN113778312B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901106A (zh) * | 2009-05-26 | 2010-12-01 | 美国智能科技有限公司 | 用于数据输入的方法及装置 |
KR20110139380A (ko) * | 2010-06-23 | 2011-12-29 | 엘지전자 주식회사 | 이동 단말기 및 이것의 디스플레이 방법 |
CN102203716A (zh) * | 2011-05-13 | 2011-09-28 | 华为终端有限公司 | 按键显示方式的更新方法及无线手持设备 |
CN102419691A (zh) * | 2011-11-18 | 2012-04-18 | 聂清永 | 虚拟键盘上符号标识的显示方法及其显示装置 |
CN105117161A (zh) * | 2015-09-10 | 2015-12-02 | 广东欧珀移动通信有限公司 | 调整移动终端虚拟按键的方法、装置和移动终端 |
CN109471586A (zh) * | 2018-10-26 | 2019-03-15 | 麒麟合盛网络技术股份有限公司 | 一种键帽配色方法、装置和终端设备 |
CN110531862A (zh) * | 2019-09-16 | 2019-12-03 | 百度时代网络技术(北京)有限公司 | 一种输入交互方法及装置 |
CN111427447A (zh) * | 2020-03-04 | 2020-07-17 | 青岛小鸟看看科技有限公司 | 虚拟键盘的显示方法、头戴显示设备及系统 |
CN111708475A (zh) * | 2020-05-25 | 2020-09-25 | 北京百度网讯科技有限公司 | 虚拟键盘的生成方法和装置 |
CN112162652A (zh) * | 2020-08-31 | 2021-01-01 | 星络智能科技有限公司 | 智能面板虚拟按键调整方法及系统 |
CN112925417A (zh) * | 2021-02-25 | 2021-06-08 | 吉林大学 | 一种用于信息识别的虚拟键盘按键触觉传输方法 |
Non-Patent Citations (1)
Title |
---|
视频虚拟键盘中的按键自定义问题研究;刘晓威;张金;李洋;成媛媛;;计算机应用与软件(第06期);第89-93页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113778312A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108091288B (zh) | 显示屏均匀性的测试方法、终端及计算机可读存储介质 | |
US20180232135A1 (en) | Method for window displaying on a mobile terminal and mobile terminal | |
CN112955896B (zh) | 用于读取条形码的方法和电子设备 | |
CN111078035B (zh) | 一种基于HTML5 Canvas的绘图方法 | |
CN103336787B (zh) | 一种用于缩放网页的方法和装置 | |
CN105930464B (zh) | Web富媒体跨屏适配方法和装置 | |
CN113126862B (zh) | 截屏方法、装置、电子设备以及可读存储介质 | |
CN101419532B (zh) | 一种在移动终端改变信息内容尺寸的方法和移动终端 | |
CN105474303A (zh) | 信息处理装置、信息处理方法及程序 | |
CN113778312B (zh) | 虚拟键盘显示方法、装置、设备及计算机可读存储介质 | |
US20130162674A1 (en) | Information processing terminal, information processing method, and program | |
CN111782131A (zh) | 笔锋实现方法、装置、设备及可读存储介质 | |
US20130002699A1 (en) | Image processing apparatus and an image processing method | |
CN109981903B (zh) | 一种图像处理方法及电子设备 | |
US11264416B2 (en) | Image processing apparatus and image processing method | |
CN108604367B (zh) | 一种显示方法以及手持电子设备 | |
CN114860141B (zh) | 图像显示方法、装置、电子设备及计算机可读介质 | |
CN112970054A (zh) | 根据图像的内容的变化控制图像的显示位置或区域的电子设备 | |
CN115423680A (zh) | 人脸妆容迁移方法、设备及计算机可读存储介质 | |
CN113986428B (zh) | 画面修正方法、装置及电子设备 | |
CN111915683B (zh) | 图像位置标定方法、智能设备及存储介质 | |
CN114518859A (zh) | 显示控制方法、装置、电子设备及存储介质 | |
CN108921097B (zh) | 人眼视角检测方法、装置及计算机可读存储介质 | |
JP2015125543A (ja) | 視線予測システム、視線予測方法、および視線予測プログラム | |
CN112529770A (zh) | 图像处理方法、装置、电子设备和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |