CN112148199A - 一种电子设备中的笔迹实现方法及装置 - Google Patents
一种电子设备中的笔迹实现方法及装置 Download PDFInfo
- Publication number
- CN112148199A CN112148199A CN202011074534.0A CN202011074534A CN112148199A CN 112148199 A CN112148199 A CN 112148199A CN 202011074534 A CN202011074534 A CN 202011074534A CN 112148199 A CN112148199 A CN 112148199A
- Authority
- CN
- China
- Prior art keywords
- point
- handwriting
- target
- track
- points
- 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.)
- Pending
Links
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种电子设备中的笔迹实现方法及装置,其中,该方法包括:获取书写轨迹,根据书写轨迹分别确定多条目标曲线的起点和终点,以及起点和终点的数据;根据各目标曲线的起点和终点的数据计算各目标曲线上各分割点的数据;根据各目标曲线上各分割点的数据计算过各分割点的垂线的两个端点的坐标值;根据各目标曲线上过各分割点的垂线的两个端点的坐标值确定与目标曲线相对应的笔迹子轨迹;根据多个目标曲线对应的笔迹子轨迹,得到目标笔迹。本发明中在连接过分割点的两个端点的垂线的端点后,对连接得到的镂空图案进行填充得到目标轨迹,由于实施本发明形成字迹时不依赖于线条宽度,因此可以得到更接近真实笔迹的目标笔迹。
Description
技术领域
本发明涉及字迹绘制技术领域,具体涉及一种电子设备中的笔迹实现方法及装置。
背景技术
随着电子产品的使用范围越来越广,用户经常需要在具备书写功能的电子产品中进行书写。目前的产品中,书写效果多采用贝塞尔曲线来实现,这种方式操作简单,并且各种平台上面都提供了画贝塞尔曲线的函数,使用方便。在实际写字时,在起笔、转折、结束等位置出会因为书写力道的不同呈现出粗细不一的线条,但是通过贝塞尔曲线绘制的字迹的粗细是统一的,因此这种方法很难模拟人们真实的笔迹。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中的难以模拟真实的笔迹的缺陷,从而提供一种电子设备中的笔迹实现方法及装置。
本发明第一方面提供了一种电子设备中的笔迹实现方法,包括:获取书写轨迹,根据书写轨迹分别确定多条目标曲线的起点和终点,以及起点和终点的数据;根据各目标曲线的起点和终点的数据计算各目标曲线上各分割点的数据;根据各目标曲线上各分割点的数据计算过各分割点的垂线的两个端点的坐标值;根据各目标曲线上过各分割点的垂线的两个端点的坐标值确定与目标曲线相对应的笔迹子轨迹;根据多个目标曲线对应的笔迹子轨迹,得到目标笔迹。
可选地,在本发明提供的电子设备中的笔迹实现方法中,根据书写轨迹分别确定多条目标曲线的起点和终点的步骤,包括:根据书写轨迹确定多个轨迹点;根据轨迹点拟合得到贝塞尔曲线,将贝塞尔曲线确定为目标曲线;将当前轨迹点和当前轨迹点的前一轨迹点的中点确定为目标曲线的起点;将当前轨迹点和当前轨迹点的后一轨迹点的中点确定为目标曲线的终点。
可选地,在本发明提供的电子设备中的笔迹实现方法中,各分割点的数据包括各分割点的坐标值,通过如下公式计算目标曲线上各分割点的坐标值:x=(1-t)*(1-t)*Sx+2*t*(1-t)*Cx+t*t*Ex;y=(1-t)*(1-t)*Sy+2*t*(1-t)*Cy+t*t*Ey;其中,t为[0,1]的等差数列中与各分割点相对应的值,Sx和Sy为目标曲线的起点的坐标值,Cx和Cy为当前轨迹点的坐标值,Ex和Ey为目标曲线的终点的坐标值。
可选地,在本发明提供的电子设备中的笔迹实现方法中,目标曲线的起点和终点的数据包括所述目标曲线的起点和终点的压力值,分别通过轨迹点的压力计算目标曲线的起点和终点的压力值,获取轨迹点的压力值的步骤包括:若轨迹点为落笔点,根据预设压力值确定轨迹点的压力值;若轨迹点不为落笔点,则根据轨迹点和轨迹点的前一轨迹点的时间差和距离计算轨迹点处的书写速度,根据轨迹点处的书写速度计算轨迹点的压力值。
可选地,在本发明提供的电子设备中的笔迹实现方法中,各分割点的数据包括各分割点的压力值,通过如下公式计算目标曲线上各分割点的压力值:p=Ps+(Pe–Ps)*t,其中,Ps为目标曲线的起点的压力值,Pe为目标曲线的终点的压力值,t为[0,1]的等差数列中与各分割点相对应的值。
可选地,在本发明提供的电子设备中的笔迹实现方法中,各分割点的数据包括所述各分割点的压力值和坐标值,根据各目标曲线上各分割点的数据计算过各分割点的垂线的两个端点的坐标值的步骤,包括:根据各分割点的压力值和预设最大线宽计算过各分割点的垂线的宽度;根据过各分割点的垂线的宽度和各分割点的坐标值计算过各分割点的垂线的两个端点的坐标值。
可选地,在本发明提供的电子设备中的笔迹实现方法中,通过如下公式计算过各分割点的垂线的宽度:P0Width=MaxWidth*p0,其中,MaxWidth为预设最大线宽,p0为分割点的压力值。
可选地,在本发明提供的电子设备中的笔迹实现方法中,通过如下公式计算过各分割点的垂线的两个端点的坐标值:P0A.x=P0.x+(P0Width/2*(P1.y–P0.y))/L;P0A.y=P0.y-(P0Width/2*(P1.x-P0.x))/L;P0B.x=P0.x-(P0Width/2*(P1.y-P0.y))/L;P0B.y=P0.y+(P0Width/2*(P1.x-P0.x))/L;其中,P0A.x和P0A.y为过分割点的垂线的上顶部端点的坐标值,P0B.x和P0B.y为过分割点的垂线的底部端点的坐标值,P0.x和P0.y为分割点的坐标值,P0Width为分割点的压力值,P1.x和P1.y为与分割点相邻的分割点的坐标值,L为分割点和与分割点相邻的分割点之间的长度,
可选地,本发明提供的电子设备中的笔迹实现方法还包括,根据书写轨迹获取目标笔迹的落笔点和提笔点;根据落笔点和提笔点的数据以及预设笔锋形状确定目标笔迹的笔锋;根据目标笔迹和目标笔迹的笔锋确定最终笔迹。
本发明第二方面提供了一种电子设备中的笔迹实现装置,包括:目标曲线数据获取模块,用于获取书写轨迹,根据书写轨迹分别确定多条目标曲线的起点和终点,以及起点和终点的数据;分割点数据获取模块,用于根据各目标曲线的起点和终点的数据计算各目标曲线上各分割点的数据;垂线端点坐标获取模块,用于根据各目标曲线上各分割点的数据计算过各分割点的垂线的两个端点的坐标值;笔迹子轨迹确定模块,用于根据各目标曲线上过各分割点的垂线的两个端点的坐标值绘制与目标曲线相对应的笔迹子轨迹;目标笔迹绘制模块,用于组合多个目标曲线对应的笔迹子轨迹,得到目标笔迹。
本发明第三方面提供了一种计算机设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,从而执行如本发明第一方面提供的笔迹实现方法。
本发明第四方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行如本发明第一方面提供的电子设备中的笔迹实现方法。
本发明技术方案,具有如下优点:
1.本发明提供的电子设备中的笔迹实现方法,先根据书写轨迹确定多条目标曲线和目标曲线的起点和终点,以及起点和终点的数据,然后根据起点和终点的数据确定目标曲线上各分割点的数据,在确定各分割点的数据后,根据各分割点的数据计算过各分割点的垂线的两个端点的坐标值,然后根据目标曲线上过各分割点的垂线的两个端点的坐标值确定目标曲线相对应的笔迹子轨迹,最终根据多个目标曲线对应的笔迹子轨迹确定目标轨迹。由于现有的操作系统无法自动切换笔迹的粗细,即使可以通过算法计算得到每个分割点的垂直方向的宽度,也会因为线条粗细无法自动调节而导致无法模拟粗细不一的笔迹,本发明中计算过各分割点的垂线的两个端点的坐标值,在连接过分割点的两个端点的垂线的端点后,对连接得到的镂空图案进行填充得到目标轨迹,由于本发明中形成字迹时不依赖于线条宽度,因此可以得到更接近真实笔迹的目标笔迹。
2.本发明提供的电子设备中的笔迹实现方法,先根据书写轨迹确定多个目标曲线,然后根据各目标曲线对应的笔迹子轨迹得到目标笔迹,由于在电子设备上书写时笔迹会有较大偏差,本发明中通过书写轨迹时产生的轨迹点拟合得到的贝塞尔曲线确定目标轨迹,最终得到的目标轨迹更光滑。
3.本发明提供的电子设备中的笔迹实现方法,在确定目标轨迹后,还根据落笔点和提笔点的压力值和预设笔锋形状为目标笔迹添加了笔锋,得到最终笔迹,通过添加笔锋使得最终得到的笔迹更真实,与实际的笔迹更贴合。
4.本发明提供的电子设备中的笔迹实现装置,先根据书写轨迹确定多条目标曲线和目标曲线的起点和终点,以及起点和终点的数据,然后根据起点和终点的数据确定目标曲线上各分割点的数据,在确定各分割点的数据后,根据各分割点的数据计算过各分割点的垂线的两个端点的坐标值,然后根据目标曲线上过各分割点的垂线的两个端点的坐标值确定目标曲线相对应的笔迹子轨迹,最终根据多个目标曲线对应的笔迹子轨迹确定目标轨迹,由于现有的操作系统无法自动切换笔迹的粗细,即使可以通过算法计算得到每个分割点的垂直方向的宽度,也会因为线条粗细无法自动调节而导致无法模拟粗细不一的笔迹,本发明中计算过各分割点的垂线的两个端点的坐标值,在连接过分割点的两个端点的垂线的端点后,对连接得到的镂空图案进行填充得到目标轨迹,由于发明中形成字迹时不依赖于线条宽度,因此可以得到更接近真实笔迹的目标笔迹。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中电子设备中的笔迹实现方法的一个具体示例的流程图;
图2为本发明实施例中确定目标曲线的起点和终点的一个具体示例的流程图;
图3为本发明实施例中电子设备中的笔迹实现方法的另一具体示例的流程图;
图4为本发明实施例中电子设备中的笔迹实现方法的又一具体示例的流程图;
图5为本发明实施例中电子设备中的笔迹实现装置的一个具体示例的原理框图;
图6为本发明实施例中提供的计算机设备的具体示例的原理框图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
实施例1
随着电子产品的使用范围越来越广,用户经常需要在具备书写功能的电子产品中进行书写。目前的产品中,书写效果多采用贝塞尔曲线来实现,这种方式操作简单,并且各种平台上面都提供了画贝塞尔曲线的函数,使用方便。在实际写字时,在起笔、转折、结束等位置出会因为书写力道的不同呈现出粗细不一的线条,但是通过贝塞尔曲线绘制的字迹的粗细是统一的,因此这种方法很难模拟人们真实的笔迹。
本发明实施例提供了一种电子设备中的笔迹实现方法,如图1所示,包括:
步骤S10:获取书写轨迹,根据书写轨迹分别确定多条目标曲线的起点和终点,以及起点和终点的数据。
在一具体实施例中,书写轨迹可以是在电子设备屏幕上或写字板上书写时的轨迹,为了使最终形成的字迹更真实,本实施例中将书写轨迹分为了多条目标曲线,需要说明的是,目标曲线的起点和终点并不一定是书写轨迹的起点和终点。由于实际书写时,压力的不同会导致笔迹粗细的不同,因此,为了更准确地模拟笔迹,目标曲线的起点和终点的数据可以包括压力值。
步骤S20:根据各目标曲线的起点和终点的数据计算各目标曲线上各分割点的数据。
在一具体实施例中,为了使得目标笔迹更顺滑,可以通过分割点将目标曲线划分为多个等长小段,各目标曲线中分割点的数量可以根据实际情况进行调整,例如,可以将目标曲线上分割点的数量设置为10,在目标曲线中划分更多的分割点,得到的笔迹更顺滑,但是所需的计算量更大,在目标曲线中划分较少的分割点,得到的笔迹相对生硬,但是计算量更小,相关技术人员可以根据硬件条件及对笔迹的需求对目标曲线中分割点的数量进行设置。
在本发明实施例中,目标曲线上各分割点的数据包括各分割点的坐标值和压力值,具体地,通过如下公式计算目标曲线上各分割点的坐标值:
x=(1-t)*(1-t)*Sx+2*t*(1-t)*Cx+t*t*Ex;
y=(1-t)*(1-t)*Sy+2*t*(1-t)*Cy+t*t*Ey;
其中,t为[0,1]的等差数列中与各分割点相对应的值,等差数列中的数据的数量与目标曲线上分割点的数量相同,例如,当目标曲线上有11个分割点时,等差数列为[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0],计算第一个分割点的坐标时,t取0,计算第二个分割点的坐标时,t取0.1,计算第三个分割点的坐标时,t取0.3…,Sx和Sy为目标曲线的起点的坐标值,Cx和Cy为当前轨迹点的坐标值,Ex和Ey为目标曲线的终点的坐标值。
通过如下公式计算目标曲线上各分割点的压力值:
p=Ps+(Pe–Ps)*t,
其中,Ps为目标曲线的起点的压力值,Pe为目标曲线的终点的压力值,t为[0,1]的等差数列中与各分割点相对应的值。
步骤S30:根据各目标曲线上各分割点的数据计算过各分割点的垂线的两个端点的坐标值。
在本发明实施例中,计算过分割点的垂线的两个端点的坐标值即为过分割点的垂线与分割点的交界处的两个端点的坐标值。
步骤S40:根据各目标曲线上过各分割点的垂线的两个端点的坐标值确定与目标曲线相对应的笔迹子轨迹。
在本发明实施例中,将过分割点的垂线的端点按序连接,会得到多个相连的梯形,将目标曲线上所有的梯形进行填充,即可得到目标曲线对应的笔迹子轨迹。
步骤S50:根据多个目标曲线对应的笔迹子轨迹,得到目标笔迹。
如上述步骤S10中,书写轨迹分为多条目标曲线,将多个目标曲线对应的笔迹子轨迹进行连接,即可得到与书写轨迹对应的目标轨迹。
本发明实施例提供的电子设备中的笔迹实现方法,先根据书写轨迹确定多条目标曲线和目标曲线的起点和终点,以及起点和终点的数据,然后根据起点和终点的数据确定目标曲线上各分割点的数据,在确定各分割点的数据后,根据各分割点的数据计算过各分割点的垂线的两个端点的坐标值,然后根据目标曲线上过各分割点的垂线的两个端点的坐标值确定目标曲线相对应的笔迹子轨迹,最终根据多个目标曲线对应的笔迹子轨迹确定目标轨迹,由于现有的操作系统无法自动切换笔迹的粗细,即使可以通过算法计算得到每个分割点的垂直方向的宽度,也会因为线条粗细无法自动调节而导致无法模拟粗细不一的笔迹,本实施例中计算过各分割点的垂线的两个端点的坐标值,在连接过分割点的垂线的端点后,对连接得到的镂空图案进行填充得到目标轨迹,由于本发明实施例中形成字迹时不依赖于线条宽度,因此可以得到更接近真实笔迹的目标笔迹。
在一可选实施例中,如图2所示,在上述步骤S10中,根据书写轨迹分别确定多条目标曲线的起点和终点的步骤,包括:
步骤S11:根据书写轨迹确定多个轨迹点。
在本发明实施例中,轨迹点为书写轨迹上的点,获取轨迹点的时间间隔可根据实际需求进行调整。
步骤S12:根据轨迹点拟合得到贝塞尔曲线,将贝塞尔曲线确定为目标曲线。
在一具体实施例中,可通过任意方式将轨迹点进行拟合得到更顺滑的曲线,将轨迹点拟合成为贝塞尔曲线只是其中一种实施方式。
步骤S13:将当前轨迹点和当前轨迹点的前一轨迹点的中点确定为目标曲线的起点。
步骤S14:将当前轨迹点和当前轨迹点的后一轨迹点的中点确定为目标曲线的终点。
在一可选实施例中,在本发明实施例提供的电子设备中的笔迹实现方法中,目标曲线的起点和终点的数据包括目标曲线的起点和终点的压力值,分别通过轨迹点的压力计算目标曲线的起点和终点的压力值,具体地,获取轨迹点的压力值的步骤包括:
判断当前轨迹点是否为落笔点,若轨迹点为落笔点,根据预设压力值确定轨迹点的压力值。
预设压力值的大小为[0,1]中的任意值,例如可以设置为0.5,具体可根据对笔迹效果的需求进行调整,若想最终得到的笔迹较粗,则可以设置较大的预设压力值,若想最终得到的笔迹较细,则可以设置较小的预设压力值。
若轨迹点不为落笔点,则根据轨迹点和轨迹点的前一轨迹点的时间差和距离计算轨迹点处的书写速度,根据轨迹点处的书写速度计算轨迹点的压力值。
在一具体实施例中,书写速度的变化会导致压力值的变化,具体根据书写速度对轨迹点的压力值的计算过程可以为:
然后根据当前轨迹点和上一轨迹点的时间差计算当前轨迹点出的书写速度。获取轨迹点时,会设定获取轨迹点的时间间隔,获取轨迹点的时间间隔即为当前轨迹点和上一轨迹点的时间差。
根据书写速度和预设参数计算轨迹点的预算压力值:p=v/a,p为轨迹点的预算压力值,v为书写速度,a为预设参数,在本发明实施例中,将a的值设定为5。
根据预算压力值确定轨迹点的压力值,具体地,当预算压力值大于或等于第一阈值时,将轨迹点的压力值确定为第一预设值,在本发明实施例中,第一阈值的值为1,第一预设值的值为0.01;当预算压力值为0时,将轨迹点的压力值确定为第二预设值,第二预设值的值为1;当预算压力值大于零,小于第一阈值时,将第一阈值和预算压力值的差确定为轨迹点的压力值。
在具体实施例中,书写速度越快,也计算得到的压力值越小,笔画越细,为了避免计算过程中出现压力值太大或压力值为0的情况,本发明实施例中通过设置第一预设值和第二预设值,使得计算得到的压力值更合理。
在一具体实施例中,字迹应该是比较平滑的,为了避免书写时速度突变,导致压力突变,使得绘制的字迹粗细变化突兀,本发明实施例中还计算相邻两个轨迹点的压力值的差,若当前轨迹点的压力值与上一轨迹点的压力值的差大于第二阈值时,适当修正当前轨迹点和上一轨迹点的压力值,使二者的差小于第二阈值,第二阈值的值可以设置为0.2。
在一可选实施例中,如图3所示,本发明提供的电子设备中的笔迹实现方法包括:
步骤S31:获取书写轨迹,根据所述书写轨迹分别确定多条目标曲线的起点和终点,以及所述起点和终点的数据,详细内容见上述步骤S10的描述。
步骤S32:根据各所述目标曲线的起点和终点的数据计算各所述目标曲线上各分割点的数据,详细内容见上述步骤S20的描述。
步骤S33:根据各分割点的压力值和预设最大线宽计算过各分割点的垂线的宽度:
P0Width=MaxWidth*p0,
其中,MaxWidth为预设最大线宽,p0为分割点的压力值,预设最大线宽的值可以根据实际需求进行调整,例如可以设置为3个像素点的宽度,也可以设置为5个像素点的宽度等。
步骤S34:根据过各分割点的垂线的宽度和各分割点的坐标值计算过各分割点的垂线的两个端点的坐标值:
P0A.x=P0.x+(P0Width/2*(P1.y–P0.y))/L;
P0A.y=P0.y-(P0Width/2*(P1.x-P0.x))/L;
P0B.x=P0.x-(P0Width/2*(P1.y-P0.y))/L;
P0B.y=P0.y+(P0Width/2*(P1.x-P0.x))/L;
其中,P0A.x和P0A.y为过分割点的垂线的上顶部端点的坐标值,P0B.x和P0B.y为过分割点的垂线的底部端点的坐标值,P0.x和P0.y为分割点的坐标值,P0Width为分割点的压力值,P1.x和P1.y为与分割点相邻的分割点的坐标值,L为分割点和与分割点相邻的分割点之间的长度,P1.x和P1.y可以为与分割点向前相邻的分割点的坐标值,也可以为与分割点向后相邻的分割点的坐标值,
步骤S35:根据各所述目标曲线上过各分割点的垂线的两个端点的坐标值确定与所述目标曲线相对应的笔迹子轨迹,详细内容见上述步骤S40的描述。
步骤S36:根据多个目标曲线对应的笔迹子轨迹,得到目标笔迹,详细内容见上述步骤S50的描述。
在一可选实施例中,如图4所示,发明实施例提供的电子设备中的笔迹实现方法包括:
步骤S41:获取书写轨迹,根据所述书写轨迹分别确定多条目标曲线的起点和终点,以及所述起点和终点的数据,详细内容见上述步骤S10的描述。
步骤S42:根据各所述目标曲线的起点和终点的数据计算各所述目标曲线上各分割点的数据,详细内容见上述步骤S20的描述。
步骤S43:根据各所述目标曲线上各分割点的数据计算过各分割点的垂线的两个端点的坐标值,详细内容见上述步骤S30的描述。
步骤S44:根据各所述目标曲线上过各分割点的垂线的两个端点的坐标值确定与所述目标曲线相对应的笔迹子轨迹,详细内容见上述步骤S40的描述。
步骤S45:根据多个目标曲线对应的笔迹子轨迹,得到目标笔迹,详细内容见上述步骤S50的描述。
步骤S46:根据书写轨迹获取目标笔迹的落笔点和提笔点。
在具体实施例中,可以将一段连续的书写轨迹上的第一条目标曲线的起点确定为目标笔迹的落笔点,将一段连续的书写轨迹上的最后一条目标曲线的终点确定为目标笔迹的提笔点。
步骤S47:根据落笔点和提笔点的数据以及预设笔锋形状确定目标笔迹的笔锋。预设笔锋形状可以为三角形、椭圆形等。
以目标笔迹在落笔点处的笔锋为例,在确定目标笔迹的笔锋时,先根据落笔点的坐标值和压力值计算过落笔点的垂线的两个端点的坐标值,然后根据过落笔点的垂线的两个端点的坐标值和预设笔锋形状确定目标笔迹在落笔点处的笔锋,具体地,当预设笔锋形状为等腰三角形,且该等腰三角形的顶点到底边之间的距离为底边长度的固定倍数时,可以根据过落笔点的垂线的两个端点的坐标值确定笔锋顶点的坐标值,最终连接笔锋顶点的坐标值和过落笔点的垂线的两个端点的坐标值,并将连接得到的三角形进行填充,得到目标笔迹在落笔点处的笔锋。等腰三角形的顶点到底边之间的距离和底边长度的关系可以根据实际需求进行设置,例如,可以将预设笔锋形状设置为顶点到底边的距离为底边长度的1.618倍的等腰三角形。
步骤S48:根据目标笔迹和目标笔迹的笔锋确定最终笔迹。
本发明实施例提供的电子设备中的笔迹实现方法,在确定目标轨迹后,还根据落笔点和提笔点的压力值和预设笔锋形状为目标笔迹添加了笔锋,得到最终笔迹,通过添加笔锋使得最终得到的笔迹更真实,与实际的笔迹更贴合。
实施例2
本发明实施例提供了一种电子设备中的笔迹实现装置,如图5所示,包括:
目标曲线数据获取模块51,用于获取书写轨迹,根据书写轨迹分别确定多条目标曲线的起点和终点,以及起点和终点的数据,详细内容见上述步骤S10的描述。
分割点数据获取模块53,用于根据各目标曲线的起点和终点的数据计算各目标曲线上各分割点的数据,详细内容见上述步骤S20的描述。
垂线端点坐标获取模块53,用于根据各目标曲线上各分割点的数据计算过各分割点的垂线的两个端点的坐标值,详细内容见上述步骤S30的描述。
笔迹子轨迹确定模块54,用于根据各目标曲线上过各分割点的垂线的两个端点的坐标值绘制与目标曲线相对应的笔迹子轨迹,详细内容见上述步骤S40的描述。
目标笔迹绘制模块50,用于组合多个目标曲线对应的笔迹子轨迹,得到目标笔迹,详细内容见上述步骤S50的描述。
本发明实施例提供的电子设备中的笔迹实现装置,先根据书写轨迹确定多条目标曲线和目标曲线的起点和终点,以及起点和终点的坐标值和压力值,然后根据起点和终点的坐标值和压力值确定目标曲线上各分割点的坐标值和压力值,在确定各分割点的压力值和坐标值后,根据各分割点的压力值和坐标值计算过各分割点的垂线的两个端点的坐标值,然后根据目标曲线上过各分割点的垂线的两个端点的坐标值确定目标曲线相对应的笔迹子轨迹,最终根据多个目标曲线对应的笔迹子轨迹确定目标轨迹,由于现有的操作系统无法自动切换笔迹的粗细,即使可以通过算法计算得到每个分割点的垂直方向的宽度,也会因为线条粗细无法自动调节而导致无法模拟粗细不一的笔迹,本发明实施例中计算过各分割点的垂线的两个端点的坐标值,在连接过分割点的两个端点的垂线的端点后,对连接得到的镂空图案进行填充得到目标轨迹,由于本发明实施例中形成字迹时不依赖于线条宽度,因此可以得到更接近真实笔迹的目标笔迹。
实施例3
本发明实施例提供了一种计算机设备,如图6所示,该计算机设备主要包括一个或多个处理器61以及存储器62,图6中以一个处理器61为例。
该计算机设备还可以包括:输入装置63和输出装置64。
处理器61、存储器62、输入装置63和输出装置64可以通过总线或者其他方式连接,图6中以通过总线连接为例。
处理器61可以为中央处理器(Central Processing Unit,CPU)。处理器61还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。存储器62可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备中的笔迹实现装置的使用所创建的数据等。此外,存储器62可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器62可选包括相对于处理器61远程设置的存储器,这些远程存储器可以通过网络连接至电子设备中的笔迹实现装置。输入装置63可接收用户输入的计算请求(或其他数字或字符信息),以及产生与电子设备中的笔迹实现装置有关的键信号输入。输出装置64可包括显示屏等显示设备,用以输出计算结果。
实施例4
本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的电子设备中的笔迹实现方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (12)
1.一种电子设备中的笔迹实现方法,其特征在于,包括:
获取书写轨迹,根据所述书写轨迹分别确定多条目标曲线的起点和终点,以及所述起点和终点的数据;
根据各所述目标曲线的起点和终点的数据计算各所述目标曲线上各分割点的数据;
根据各所述目标曲线上各分割点的数据计算过各分割点的垂线的两个端点的坐标值;
根据各所述目标曲线上过各分割点的垂线的两个端点的坐标值确定与所述目标曲线相对应的笔迹子轨迹;
根据多个目标曲线对应的笔迹子轨迹,得到目标笔迹。
2.根据权利要求1所述的电子设备中的笔迹实现方法,其特征在于,根据所述书写轨迹分别确定多条目标曲线的起点和终点的步骤,包括:
根据所述书写轨迹确定多个轨迹点;
根据所述轨迹点拟合得到贝塞尔曲线,将所述贝塞尔曲线确定为所述目标曲线;
将当前轨迹点和当前轨迹点的前一轨迹点的中点确定为目标曲线的起点;
将当前轨迹点和当前轨迹点的后一轨迹点的中点确定为目标曲线的终点。
3.根据权利要求2所述的电子设备中的笔迹实现方法,其特征在于,各分割点的数据包括各分割点的坐标值,通过如下公式计算所述目标曲线上各分割点的坐标值:
x=(1-t)*(1-t)*Sx+2*t*(1-t)*Cx+t*t*Ex;
y=(1-t)*(1-t)*Sy+2*t*(1-t)*Cy+t*t*Ey;
其中,t为[0,1]的等差数列中与各分割点相对应的值,Sx和Sy为所述目标曲线的起点的坐标值,Cx和Cy为所述当前轨迹点的坐标值,Ex和Ey为所述目标曲线的终点的坐标值。
4.根据权利要求2所述的电子设备中的笔迹实现方法,其特征在于,目标曲线的起点和终点的数据包括所述目标曲线的起点和终点的压力值,分别通过所述轨迹点的压力计算所述目标曲线的起点和终点的压力值,
获取所述轨迹点的压力值的步骤包括:
若所述轨迹点为落笔点,根据预设压力值确定所述轨迹点的压力值;
若所述轨迹点不为落笔点,则根据所述轨迹点和所述轨迹点的前一轨迹点的时间差和距离计算所述轨迹点处的书写速度,根据所述轨迹点处的书写速度计算所述轨迹点的压力值。
5.根据权利要求1所述的电子设备中的笔迹实现方法,其特征在于,各分割点的数据包括各分割点的压力值,通过如下公式计算所述目标曲线上各分割点的压力值:
p=Ps+(Pe–Ps)*t,
其中,Ps为所述目标曲线的起点的压力值,Pe为所述目标曲线的终点的压力值,t为[0,1]的等差数列中与各分割点相对应的值。
6.根据权利要求1所述的电子设备中的笔迹实现方法,其特征在于,各分割点的数据包括所述各分割点的压力值和坐标值,
所述根据各所述目标曲线上各分割点的数据计算过各分割点的垂线的两个端点的坐标值的步骤,包括:
根据各所述分割点的压力值和预设最大线宽计算过各所述分割点的垂线的宽度;
根据过各所述分割点的垂线的宽度和各所述分割点的坐标值计算过各所述分割点的垂线的两个端点的坐标值。
7.根据权利要求6所述的电子设备中的笔迹实现方法,其特征在于,通过如下公式计算过各所述分割点的垂线的宽度:
P0Width=MaxWidth*p0,
其中,MaxWidth为所述预设最大线宽,p0为所述分割点的压力值。
8.根据权利要求6所述的电子设备中的笔迹实现方法,其特征在于,通过如下公式计算过各所述分割点的垂线的两个端点的坐标值:
P0A.x=P0.x+(P0Width/2*(P1.y–P0.y))/L;
P0A.y=P0.y-(P0Width/2*(P1.x-P0.x))/L;
P0B.x=P0.x-(P0Width/2*(P1.y-P0.y))/L;
P0B.y=P0.y+(P0Width/2*(P1.x-P0.x))/L;
其中,P0A.x和P0A.y为过所述分割点的垂线的上顶部端点的坐标值,P0B.x和P0B.y为过所述分割点的垂线的底部端点的坐标值,P0.x和P0.y为所述分割点的坐标值,P0Width为所述分割点的压力值,P1.x和P1.y为与所述分割点相邻的分割点的坐标值,L为所述分割点和与所述分割点相邻的分割点之间的长度,
9.根据权利要求1所述的电子设备中的笔迹实现方法,其特征在于,还包括:
根据所述书写轨迹获取所述目标笔迹的落笔点和提笔点;
根据所述落笔点和提笔点的数据以及预设笔锋形状确定所述目标笔迹的笔锋;
根据所述目标笔迹和所述目标笔迹的笔锋确定最终笔迹。
10.一种电子设备中的笔迹实现装置,其特征在于,包括:
目标曲线数据获取模块,用于获取书写轨迹,根据所述书写轨迹分别确定多条目标曲线的起点和终点,以及所述起点和终点的数据;
分割点数据获取模块,用于根据各所述目标曲线的起点和终点的数据计算各所述目标曲线上各分割点的数据;
垂线端点坐标获取模块,用于根据各所述目标曲线上各分割点的数据计算过各分割点的垂线的两个端点的坐标值;
笔迹子轨迹确定模块,用于根据各所述目标曲线上过各分割点的垂线的两个端点的坐标值绘制与所述目标曲线相对应的笔迹子轨迹;
目标笔迹绘制模块,用于组合多个目标曲线对应的笔迹子轨迹,得到目标笔迹。
11.一种计算机设备,其特征在于,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,从而执行如权利要求1-9中任一项所述的电子设备中的笔迹实现方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如权利要求1-9中任一项所述的电子设备中的笔迹实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011074534.0A CN112148199A (zh) | 2020-10-09 | 2020-10-09 | 一种电子设备中的笔迹实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011074534.0A CN112148199A (zh) | 2020-10-09 | 2020-10-09 | 一种电子设备中的笔迹实现方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112148199A true CN112148199A (zh) | 2020-12-29 |
Family
ID=73952715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011074534.0A Pending CN112148199A (zh) | 2020-10-09 | 2020-10-09 | 一种电子设备中的笔迹实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148199A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448486A (zh) * | 2021-09-01 | 2021-09-28 | 广州朗国电子科技股份有限公司 | 电子白板用笔笔锋实现方法、装置、存储介质及电子白板 |
CN115205423A (zh) * | 2022-09-19 | 2022-10-18 | 北京猎户座信息技术有限公司 | 基于电子设备的手写方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010048436A1 (en) * | 2000-04-03 | 2001-12-06 | Sanger Terence David | Method and apparatus for sending electronic mail using human handwriting |
CN105225260A (zh) * | 2015-09-25 | 2016-01-06 | 中国电子科技集团公司第三十二研究所 | 一种手写原笔迹实现方法 |
CN107943365A (zh) * | 2017-11-28 | 2018-04-20 | 广州视睿电子科技有限公司 | 线条笔迹的呈现方法、装置、电子设备及存储介质 |
CN110321054A (zh) * | 2019-06-20 | 2019-10-11 | 广州视源电子科技股份有限公司 | 毛笔笔迹绘制方法、装置、设备及可读存储介质 |
-
2020
- 2020-10-09 CN CN202011074534.0A patent/CN112148199A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010048436A1 (en) * | 2000-04-03 | 2001-12-06 | Sanger Terence David | Method and apparatus for sending electronic mail using human handwriting |
CN105225260A (zh) * | 2015-09-25 | 2016-01-06 | 中国电子科技集团公司第三十二研究所 | 一种手写原笔迹实现方法 |
CN107943365A (zh) * | 2017-11-28 | 2018-04-20 | 广州视睿电子科技有限公司 | 线条笔迹的呈现方法、装置、电子设备及存储介质 |
CN110321054A (zh) * | 2019-06-20 | 2019-10-11 | 广州视源电子科技股份有限公司 | 毛笔笔迹绘制方法、装置、设备及可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113448486A (zh) * | 2021-09-01 | 2021-09-28 | 广州朗国电子科技股份有限公司 | 电子白板用笔笔锋实现方法、装置、存储介质及电子白板 |
CN113448486B (zh) * | 2021-09-01 | 2021-12-24 | 广州朗国电子科技股份有限公司 | 电子白板用笔笔锋实现方法、装置、存储介质及电子白板 |
WO2023029694A1 (zh) * | 2021-09-01 | 2023-03-09 | 广州朗国电子科技股份有限公司 | 电子白板用笔笔锋实现方法、装置、存储介质及电子白板 |
CN115205423A (zh) * | 2022-09-19 | 2022-10-18 | 北京猎户座信息技术有限公司 | 基于电子设备的手写方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11687233B2 (en) | Handwriting processing method, touch display device, computer device and storage medium | |
EP3951721A1 (en) | Method and apparatus for determining occluded area of virtual object, and terminal device | |
WO2022148192A1 (zh) | 图像处理方法、图像处理装置以及非瞬时性存储介质 | |
CN108961303B (zh) | 一种图像处理方法、装置、电子设备和计算机可读介质 | |
CN112905102B (zh) | 书写笔锋的实现方法、装置、电子设备及可读存储介质 | |
WO2016127736A1 (zh) | 指纹重叠区域面积的计算方法及电子装置 | |
CN107526526B (zh) | 确定压感笔迹区域的方法及装置 | |
JP2017529623A (ja) | ウェットインク予測器 | |
CN112148199A (zh) | 一种电子设备中的笔迹实现方法及装置 | |
CN106997613B (zh) | 根据2d图像的3d模型生成 | |
US20130182956A1 (en) | Methods and Devices for Processing Handwriting Input | |
CN103310474A (zh) | 一种手写原笔迹的实现方法及系统 | |
JP5706001B2 (ja) | 手書き原筆跡の実現方法、実現装置及び電子装置 | |
CN107038441B (zh) | 书写板检测和校正 | |
US20230351787A1 (en) | Hand-Drawn Graphic Recognition Method, Apparatus and System, and Computer-Readable Storage Medium | |
JP6229554B2 (ja) | 検出装置および検出方法 | |
US11238620B2 (en) | Implicit structured light decoding method, computer equipment and readable storage medium | |
CN105278896A (zh) | 一种图像显示方法、装置及终端设备 | |
CN114356201A (zh) | 一种书写美化方法、装置、设备和可读存储介质 | |
WO2020132863A1 (zh) | 续笔方法与显示终端 | |
CN111524209B (zh) | 电子书写方法、装置、终端以及存储介质 | |
CN117930995B (zh) | 一种文字绘制方法及装置 | |
CN114119609B (zh) | 图像污点浓度的检测方法、装置、设备及存储介质 | |
CN116027955A (zh) | 基于安卓平台的笔锋效果实现方法、装置、设备及介质 | |
CN118535071A (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 | ||
CB02 | Change of applicant information |
Address after: 247100 workshop C2, science and Technology Incubation Park, Jiangnan industrial concentration zone, Chizhou City, Anhui Province Applicant after: Anhui Wenxiang Technology Co.,Ltd. Address before: Room 1101, 11 / F, building 2, No.15, Ronghua South Road, Daxing Economic and Technological Development Zone, Beijing 100176 Applicant before: BEIJING WENXIANG INFORMATION TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201229 |
|
RJ01 | Rejection of invention patent application after publication |