CN111144064B - 文字变形方法、介质、设备及装置 - Google Patents
文字变形方法、介质、设备及装置 Download PDFInfo
- Publication number
- CN111144064B CN111144064B CN201911231887.4A CN201911231887A CN111144064B CN 111144064 B CN111144064 B CN 111144064B CN 201911231887 A CN201911231887 A CN 201911231887A CN 111144064 B CN111144064 B CN 111144064B
- Authority
- CN
- China
- Prior art keywords
- deformation
- coordinate system
- sampling point
- coordinates
- character
- 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 29
- 238000005070 sampling Methods 0.000 claims abstract description 142
- 230000009466 transformation Effects 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 19
- 239000013598 vector Substances 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- 238000011426 transformation method Methods 0.000 claims description 10
- 238000009877 rendering Methods 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 18
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000004075 alteration Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- YCKRFDGAMUMZLT-UHFFFAOYSA-N Fluorine atom Chemical compound [F] YCKRFDGAMUMZLT-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910052731 fluorine Inorganic materials 0.000 description 1
- 239000011737 fluorine Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种文字变形方法及装置,其中该方法包括:获取待变形文字的路径信息;对路径信息进行采样以获取多个采样点;计算每个采样点的轴对齐包围盒,并定义变形空间和变形控制顶点;根据变形空间和变形控制顶点定义变形局部坐标系;计算每个采样点在变形局部坐标系中的坐标;对变形控制顶点进行移动以使每个采样点跟随移动,并获取移动后的变形控制顶点在世界坐标系中的坐标;计算移动后的每个采样点在世界坐标系中的坐标;根据移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,以获取最终的变形文字;由此,采用移动变形控制顶点实现对文字的变形,从而无需改变相机参数即可实现透视效果,提高了文字变形效率。
Description
技术领域
本发明涉及文字处理技术领域,特别涉及一种文字变形方法、一种计算机可读存储介质、一种计算机设备以及一种文字变形装置。
背景技术
相关技术中,为了让文字实现透视投影的效果,通常需要调节相机参数,通过改变相机透视角度和俯仰角度,使文字出现透视的效果;然而,这种透视投影的方式需要通过透视矩阵乘法和透视矩阵除法实现,计算过程复杂,从而大大降低了文字变形效率。
发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的一个目的在于提出一种文字变形方法,采用移动变形控制顶点实现对文字的变形,从而无需改变相机参数即可实现透视效果,提高了文字变形效率。
本发明的第二个目的在于提出一种计算机可读存储介质。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种文字变形装置。
为达到上述目的,本发明第一方面实施例提出了一种文字变形方法,包括以下步骤:获取待变形文字的路径信息;对所述路径信息中的每段文字路径分别进行采样以获取每段文字路径对应的多个采样点;计算每个采样点的轴对齐包围盒,并根据所述轴对齐包围盒定义变形空间和变形控制顶点;根据所述变形空间和所述变形控制顶点定义变形局部坐标系;计算每个采样点在所述变形局部坐标系中的坐标;对所述变形控制顶点进行移动以使每个采样点跟随移动,并获取移动后的变形控制顶点在世界坐标系中的坐标;根据每个采样点在所述变形局部坐标系中的坐标和移动后的变形控制顶点在世界坐标系中的坐标计算移动后的每个采样点在世界坐标系中的坐标;根据移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,以获取最终的变形文字。
根据本发明实施例的文字变形方法,首先获取待变形文字的路径信息;并对路径信息中的每段文字路径分别进行采样以获取每段文字路径对应的多个采样点;接着计算采样点的轴对齐包围盒,并根据轴对齐包围盒定义变形空间和变形控制顶点;然后根据变形空间和变形控制顶点定义变形局部坐标系;再接着计算每个采样点在变形局部坐标系中的坐标;对变形控制顶点进行移动以使每个采样点跟随移动,并获取移动后的变形控制顶点在世界坐标系中的坐标;根据每个采样点在变形局部坐标系中的坐标和移动后的变形控制顶点在世界坐标系中的坐标计算移动后的每个采样点在世界坐标系中的坐标;最后根据移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,以获取最终的变形文字;由此,本发明通过采用自由变形算法,以一定规则移动变形控制顶点实现对文字的变形,从而无需改变相机参数即可实现文字透视效果,提高了文字的变形效率。
另外,根据本发明上述实施例提出的文字变形方法还可以具有如下附加的技术特征:
可选地,所述变形空间为长方形,所述变形控制顶点包括所述变形空间的四个顶点P00、P20、P02、P22和所述变形空间的中心点P11和所述变形空间各边的中点P01、P12、P10、P21。
可选地,根据所述变形空间和所述变形控制顶点定义变形局部坐标系,包括:将所述P00定义为变形局部坐标系的原点,以及定义局部坐标系的横轴向量S=P20-P00和局部坐标系的纵轴向量T=P02-P00。
可选地,根据以下公式计算每个采样点在所述变形局部坐标系中的坐标:
其中,sm表示第m个采样点在变形局部坐标系中的横坐标;tm表示第m个采样点在变形局部坐标系中的纵坐标;xm表示第m个采样点在世界坐标系中的坐标。
可选地,根据以下公式计算所述移动后的每个采样点在世界坐标系中的坐标:
可选地,根据移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,包括:采用三角化算法对移动后的每个采样点进行三角化处理,以获取多个三角形;对所述多个三角形进行光栅化渲染,以获取最终的变形文字。
为达到上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有文字变形程序,该文字变形程序被处理器执行时实现如上述的文字变形方法。
根据本发明实施例的计算机可读存储介质,通过存储文字变形程序,以便处理器在执行该文字变形程序时实现如上述的文字变形方法,从而无需改变相机参数即可实现文字透视效果,提高了文字的变形效率。
为达到上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述的文字变形方法。
根据本发明实施例的计算机设备,通过存储器存储可在处理器上运行的计算机程序,以便处理器在执行该计算机程序时,实现如上述的文字变形方法,从而无需改变相机参数即可实现文字透视效果,提高了文字的变形效率。
为达到上述目的,本发明第四方面实施例提出了一种文字变形装置,包括:获取模块,用于获取待变形文字的路径信息;采样模块,用于对所述路径信息中的每段文字路径分别进行采样以获取每段文字路径对应的多个采样点;第一计算模块,用于计算每个采样点的轴对齐包围盒,并根据所述轴对齐包围盒定义变形空间和变形控制顶点;定义模块,用于根据所述变形空间和所述变形控制顶点定义变形局部坐标系;第二计算模块,用于计算每个采样点在所述变形局部坐标系中的坐标;移动模块,用于对所述变形控制顶点进行移动以使每个采样点跟随移动,并获取移动后的变形控制顶点在世界坐标系中的坐标;第三计算模块,用于根据每个采样点在所述变形局部坐标系中的坐标和移动后的变形控制顶点在世界坐标系中的坐标计算移动后的每个采样点在世界坐标系中的坐标;处理模块,用于根据移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,以获取最终的变形文字。
根据本发明实施例的一种文字变形装置,通过获取模块获取待变形文字的路径信息,并通过采样模块对路径信息中的每段文字路径分别进行采样以获取每段文字路径对应的多个采样点,获取完多个采样点后,还通过第一计算模块计算每个采样点的轴对齐包围盒,并根据轴对齐包围盒定义变形空间和变形控制顶点,再通过定义模块根据变形空间和变形控制顶点定义变形局部坐标系,定义完局部坐标系后,通过第二计算模块计算每个采样点在变形局部坐标系中的坐标,接着通过移动模块对变形控制顶点进行移动以使每个采样点跟随移动,并获取移动后的变形控制顶点在世界坐标系中的坐标,然后通过第三计算模块根据每个采样点在变形局部坐标系中的坐标和移动后的变形控制顶点在世界坐标系中的坐标计算移动后的每个采样点在世界坐标系中的坐标,最后通过处理模块根据移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,以获取最终的变形文字;由此,本发明通过采用自由变形算法,以一定规则移动变形控制顶点实现对文字的变形,从而无需改变相机参数即可实现文字透视效果,提高了文字的变形效率。
附图说明
图1为根据本发明实施例的文字变形方法的流程示意图;
图2为根据本发明一个实施例的变形文字的路径信息的示意图;
图3为根据本发明一个实施例的采样后的路径信息的示意图;
图4为根据本发明一个实施例的世界坐标系的示意图;
图5为根据本发明一个实施例的三角化后的路径信息的示意图;
图6为根据本发明一个实施例的渲染后的路径信息的示意图;
图7为根据本发明一个实施例的待变形文字的效果图;
图8为根据本发明一个实施例的变形后的样式A的文字效果图;
图9为根据本发明一个实施例的变形后的样式B的文字效果图;
图10为根据本发明一个实施例的变形后的样式C的文字效果图;
图11为根据本发明一个实施例的文字变形装置的方框示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
透视投影是将相机空间中的点从视锥体变换到规则观测体中的变化过程,在算法中是通过透视矩阵乘法和透视矩阵除法实现的,得到透视矩阵需要经过冗长的推导和解方程组等,计算过程复杂,从而大大降低了文字变形效率;根据本发明实施例的文字变形方法,首先获取待变形文字的路径信息;并对路径信息中的每段文字路径分别进行采样以获取每段文字路径对应的多个采样点;接着计算采样点的轴对齐包围盒,并根据轴对齐包围盒定义变形空间和变形控制顶点;然后根据变形空间和变形控制顶点定义变形局部坐标系;再接着计算每个采样点在变形局部坐标系中的坐标;对变形控制顶点进行移动以使每个采样点跟随移动,并获取移动后的变形控制顶点在世界坐标系中的坐标;根据每个采样点在变形局部坐标系中的坐标和移动后的变形控制顶点在世界坐标系中的坐标计算移动后的每个采样点在世界坐标系中的坐标;最后根据移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,以获取最终的变形文字;由此,本发明通过采用自由变形算法,以一定规则移动变形控制顶点实现对文字的变形,从而无需改变相机参数即可实现文字透视效果,提高了文字的变形效率。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
图1为根据本发明实施例的文字变形方法;如图1所示,本发明实施例的文字变形方法包括以下步骤:
步骤101,获取待变形文字的路径信息。
作为一个实施例,待变形文字的路径信息包括多段文字路径,其中每段文字路径包括至少一段直线和至少一段二次贝塞尔曲线。
也就是说,每段文字路径可以由多段直线和二次贝塞尔曲线首尾连接而成,以构成封闭路径。
需要说明的是,字符串是由多个文字组成的,对于用户输入的字符串的每个文字可以通过字体文件(例如ttf格式)中找到相应的路径信息。
作为一个具体实施例,如图2所示,某个字体有两段文字路径,第一段路径由直线1-2、二次贝塞尔曲线2-3-4、直线4-5、二次贝塞尔曲线5-6-1组成,顺时针连接是外轮廓;第二段路径由二次贝塞尔曲线7-8-9、直线9-10、直线10-7组成,逆时针连接,是内轮廓。
步骤102,对路径信息中的每段文字路径分别进行采样以获取每段文字路径对应的多个采样点。
也就是说,基于一定步长对文字路径进行采样,以获取每段文字路径对应的多个采样点,采样点应当密集到保留字体轮廓的原始特征。
作为一个具体实施例,如图3所示,其中,空心点为采样点,对于上述步骤的两段文字路径进行采样后,每段文字路径可以连接成一个封闭的多边形。
需要说明的是,在对每段文字路径分别进行采样时,还获得每个采样点在世界坐标系中的坐标。
步骤103,计算每个采样点的轴对齐包围盒,并根据轴对齐包围盒定义变形空间和变形控制顶点。
作为一个实施例,变形空间为长方形,变形控制顶点包括变形空间的四个顶点P00、P20、P02、P22和变形空间的中心点P11和变形空间各边的中点P01、P12、P10、P21。
作为一个具体实施例,计算上述步骤的两段文字路径的所有采样点的轴对齐包围盒(Axis Align Bounding Box/AABB),基于轴对齐包围盒的四个顶点P00、P20、P02、P22,中心点P11,以及各个边的中点P01、P12、P10、P21可以定义一个由九点形成的长方形;如图4所示,该长方形称为变形空间,九个实心点称为变形控制顶点;坐标系X-O-Y为世界坐标系。
需要说明的是,包围盒是求解离散点集最优包围空间的算法,包围盒的计算方式在现有技术中已有详细的记载,本发明在此不进行赘述。
另外,在定义变形空间和变形控制顶点时,还获取变形控制顶点在世界坐标系中的坐标。
步骤104,根据变形空间和变形控制顶点定义变形局部坐标系。
作为一个具体实施例,如图4所示,将P00定义为变形局部坐标系的原点,以及定义局部坐标系的横轴向量S=P20-P00和局部坐标系的纵轴向量T=P02-P00。
步骤105,计算每个采样点在变形局部坐标系中的坐标。
作为一个实施例,根据以下公式计算每个采样点在变形局部坐标系中的坐标:
其中,sm表示第m个采样点在变形局部坐标系中的横坐标;tm表示第m个采样点在变形局部坐标系中的纵坐标;Xm表示第m个采样点在世界坐标系中的坐标。
需要说明的是,S=P20-P00、T=P02-P00,其中,P20、P02和P00均为世界坐标系下的坐标。
步骤106,对变形控制顶点进行移动以使每个采样点跟随移动,并获取移动后的变形控制顶点在世界坐标系中的坐标。
作为一个具体实施例,如图7所示,其为未移动前的待变形文字,首先根据预设阈值delta对变形控制顶点进行移动,以使每个采样点跟随移动,例如,P20和P02同时往S轴正方向移动delta,P00和P22同时往S轴负方向移动delta,P12和P10保持不动;另外,由于移动的预设阈值delta是已知的,所以移动后的P20、P02、P00和P22也可得知,所以,剩余变形控制顶点可通过以下公式获取:
Top=Length(P22-P20)
Bottom=Length(P20-P00)
verticalRatio=Top/(Top+Bottom)
P01=(1-verticalRatio)×P02+verticalRatio×P00
P11=(1-verticalRatio)×P12+verticalRatio×P10
P21=(1-verticalRatio)×P22+verticalRatio×P20
其中,Length(P22-P20)表示计算点P20到点P22之间的距离,即求向量的长度;同理,Length(P20-P00)表示计算点P00到点P20之间的距离,即求向量的长度。由此,获取透视变形样式A中移动后的所有变形控制顶点在世界坐标系中的坐标。
作为一个具体实施例,如图7所示,其为未移动前的待变形文字,首先根据预设阈值delta对变形控制顶点进行移动,以使每个采样点跟随移动,例如,P22往T轴正方向移动delta,P02往T轴负方向移动delta,P00和P20保持不动,P21取P22和P20的中点,P01取P02和P00的中点;另外,由于移动的预设阈值delta是已知的,所以移动后的P22和P02也可得知,所以,剩余变形控制顶点可通过以下公式获取:
Left=Length(P02-P00)
Right=Length(P22-P20)
horizonRatio=Left/(Left+Right)
P10=(1-horizonRatio)×P00+horizonRatio×P20
P11=(1-horizonRatio)×P01+horizonRatio×P21
P12=(1-horizonRatio)×P02+horizonRatio×P22
其中,Length(P02-P00)表示计算点P00到点P02之间的距离,即求向量的长度;同理,Length(P22-P20)表示计算点P20到点P22之间的距离,即求向量的长度。由此,获取透视变形样式B中移动后的所有变形控制顶点在世界坐标系中的坐标。
作为一个具体实施例,如图7所示,其为未移动前的待变形文字,首先根据预设阈值delta对变形控制顶点进行移动,以使每个采样点跟随移动,例如,P20和P02同时往T轴正方向移动delta,P00和P22同时往T轴负方向移动delta,P01和P21保持不动;另外,由于移动的预设阈值delta是已知的,所以移动后的P22、P02、P20和P00也可得知,所以,剩余变形控制顶点可通过以下公式获取:
Left=Length(P02-P00)
Right=Length(P22-P20)
horizonRatio=Left/(Left+-Right)
P10=(1-horizonRatio)×P00+horizonRatio×P20
P11=(1-horizonRatio)×P01+horizonRatio×P21
P12=(1-horizonRatio)×P02+horizonRatio×P22
其中,Length(P02-P00)表示计算点P00到点P02之间的距离,即求向量的长度;同理,Length(P22-P20)表示计算点P20到点P22之间的距离,即求向量的长度。由此,获取透视变形样式C中移动后的所有变形控制顶点在世界坐标系中的坐标。
步骤107,根据每个采样点在变形局部坐标系中的坐标和移动后的变形控制顶点在世界坐标系中的坐标计算移动后的每个采样点在世界坐标系中的坐标。
作为一个实施例,根据以下公式计算移动后的每个采样点在世界坐标系中的坐标:
需要说明的是,作为一个具体实施例,如果将上述获取到的透视变形样式A中移动后的所有变形控制顶点在世界坐标系中的坐标带入上述公式中的即可获取透视变形样式A中移动后的每个采样点在世界坐标系中的坐标;如果将上述获取到的透视变形样式B中移动后的所有变形控制顶点在世界坐标系中的坐标带入上述公式中的即可获取透视变形样式B中移动后的每个采样点在世界坐标系中的坐标;如果将上述获取到的透视变形样式C中移动后的所有变形控制顶点在世界坐标系中的坐标带入上述公式中的即可获取透视变形样式C中移动后的每个采样点在世界坐标系中的坐标。
步骤108,根据移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,以获取最终的变形文字。
作为一个实施例,根据移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,包括:采用三角化算法对移动后的每个采样点进行三角化处理,以获取多个三角形;对多个三角形进行光栅化渲染,以获取最终的变形文字。
需要说明的是,如图5所示,基于三角化算法(如earcut),对采样点进行三角化;如图6所示,再基于光栅化渲染管线,对三角形进行渲染,得到最终的变形文字。
作为一个具体实施例,如果根据透视变形样式A中移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,从而获取如图8所示的最终的变形文字的文字效果图;如果根据透视变形样式B中移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,从而获取如图9所示的最终的变形文字的文字效果图;如果根据透视变形样式C中移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,从而获取如图10所示的最终的变形文字的文字效果图。
另外,本发明实施例还提出了一种计算机可读存储介质,其上存储有文字变形程序,该文字变形程序被处理器执行时实现如上述的文字变形方法。
根据本发明实施例的计算机可读存储介质,通过存储文字变形程序,以便处理器在执行该文字变形程序时实现如上述的文字变形方法,从而无需改变相机参数即可实现文字透视效果,提高了文字的变形效率。
另外,本发明实施例还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述的文字变形方法。
根据本发明实施例的计算机设备,通过存储器存储可在处理器上运行的计算机程序,以便处理器在执行该计算机程序时,实现如上述的文字变形方法,从而无需改变相机参数即可实现文字透视效果,提高了文字的变形效率。
图11为根据本发明一个实施例的文字变形装置的方框示意图;如图11所示,本实施例的文字变形装置包括:获取模块201、采样模块202、第一计算模块203、定义模块204、第二计算模块205、移动模块206、第三计算模块207和处理模块208。
其中,获取模块201用于获取待变形文字的路径信息;采样模块202用于对路径信息中的每段文字路径分别进行采样以获取每段文字路径对应的多个采样点;第一计算模块203用于计算每个采样点的轴对齐包围盒,并根据轴对齐包围盒定义变形空间和变形控制顶点;定义模块204用于根据变形空间和变形控制顶点定义变形局部坐标系;第二计算模块205用于计算每个采样点在变形局部坐标系中的坐标;移动模块206用于对变形控制顶点进行移动以使每个采样点跟随移动,并获取移动后的变形控制顶点在世界坐标系中的坐标;第三计算模块207用于根据每个采样点在变形局部坐标系中的坐标和移动后的变形控制顶点在世界坐标系中的坐标计算移动后的每个采样点在世界坐标系中的坐标;处理模块208用于根据移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,以获取最终的变形文字。
进一步地,变形空间为长方形,变形控制顶点包括变形空间的四个顶点P00、P20、P02、P22和变形空间的中心点P11和变形空间各边的中点P01、P12、P10、P21。
进一步地,根据变形空间和变形控制顶点定义变形局部坐标系,包括:将P00定义为变形局部坐标系的原点,以及定义局部坐标系的横轴向量S=P20-P00和局部坐标系的纵轴向量T=P02-P00。
进一步地,根据以下公式计算每个采样点在变形局部坐标系中的坐标:
其中,sm表示第m个采样点在变形局部坐标系中的横坐标;tm表示第m个采样点在变形局部坐标系中的纵坐标;Xm表示第m个采样点在世界坐标系中的坐标。
进一步地,根据以下公式计算移动后的每个采样点在世界坐标系中的坐标:
进一步地,根据移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,包括:采用三角化算法对移动后的每个采样点进行三角化处理,以获取多个三角形;对多个三角形进行光栅化渲染,以获取最终的变形文字。
进一步地,待变形文字的路径信息包括多段文字路径,其中每段文字路径包括至少一段直线和至少一段二次贝塞尔曲线。
需要说明的是,前述对于文字变形方法的实施例的解释说明同样适用于本实施例的文字变形装置,此处不再赘述。
根据本发明实施例的一种文字变形装置,通过获取模块获取待变形文字的路径信息,并通过采样模块对路径信息中的每段文字路径分别进行采样以获取每段文字路径对应的多个采样点,获取完多个采样点后,还通过第一计算模块计算每个采样点的轴对齐包围盒,并根据轴对齐包围盒定义变形空间和变形控制顶点,再通过定义模块根据变形空间和变形控制顶点定义变形局部坐标系,定义完局部坐标系后,通过第二计算模块计算每个采样点在变形局部坐标系中的坐标,接着通过移动模块对变形控制顶点进行移动以使每个采样点跟随移动,并获取移动后的变形控制顶点在世界坐标系中的坐标,然后通过第三计算模块根据每个采样点在变形局部坐标系中的坐标和移动后的变形控制顶点在世界坐标系中的坐标计算移动后的每个采样点在世界坐标系中的坐标,最后通过处理模块根据移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,以获取最终的变形文字;由此,本发明通过采用自由变形算法,以一定规则移动变形控制顶点实现对文字的变形,从而无需改变相机参数即可实现文字透视效果,提高了文字的变形效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种文字变形方法,其特征在于,包括以下步骤:
获取待变形文字的路径信息;
对所述路径信息中的每段文字路径分别进行采样以获取每段文字路径对应的多个采样点;
计算每个采样点的轴对齐包围盒,并根据所述轴对齐包围盒定义变形空间和变形控制顶点;
根据所述变形空间和所述变形控制顶点定义变形局部坐标系;
计算每个采样点在所述变形局部坐标系中的坐标;
对所述变形控制顶点进行移动以使每个采样点跟随移动,并获取移动后的变形控制顶点在世界坐标系中的坐标;
根据每个采样点在所述变形局部坐标系中的坐标和移动后的变形控制顶点在世界坐标系中的坐标计算移动后的每个采样点在世界坐标系中的坐标;
根据移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,以获取最终的变形文字。
2.如权利要求1所述的文字变形方法,其特征在于,所述变形空间为长方形,所述变形控制顶点包括所述变形空间的四个顶点P00、P20、P02、P22和所述变形空间的中心点P11和所述变形空间各边的中点P01、P12、P10、P21。
3.如权利要求2所述的文字变形方法,其特征在于,根据所述变形空间和所述变形控制顶点定义变形局部坐标系,包括:
将所述P00定义为变形局部坐标系的原点,以及定义局部坐标系的横轴向量S=P20-P00和局部坐标系的纵轴向量T=P02-P00。
6.如权利要求1所述的文字变形方法,其特征在于,根据移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,包括:
采用三角化算法对移动后的每个采样点进行三角化处理,以获取多个三角形;
对所述多个三角形进行光栅化渲染,以获取最终的变形文字。
7.如权利要求1-6中任一项所述的文字变形方法,其特征在于,所述待变形文字的路径信息包括多段文字路径,其中每段文字路径包括至少一段直线和至少一段二次贝塞尔曲线。
8.一种计算机可读存储介质,其特征在于,其上存储有文字变形程序,该文字变形程序被处理器执行时实现如权利要求1-7中任一项所述的文字变形方法。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求1-7中任一项所述的文字变形方法。
10.一种文字变形装置,其特征在于,包括:
获取模块,用于获取待变形文字的路径信息;
采样模块,用于对所述路径信息中的每段文字路径分别进行采样以获取每段文字路径对应的多个采样点;
第一计算模块,用于计算每个采样点的轴对齐包围盒,并根据所述轴对齐包围盒定义变形空间和变形控制顶点;
定义模块,用于根据所述变形空间和所述变形控制顶点定义变形局部坐标系;
第二计算模块,用于计算每个采样点在所述变形局部坐标系中的坐标;
移动模块,用于对所述变形控制顶点进行移动以使每个采样点跟随移动,并获取移动后的变形控制顶点在世界坐标系中的坐标;
第三计算模块,用于根据每个采样点在所述变形局部坐标系中的坐标和移动后的变形控制顶点在世界坐标系中的坐标计算移动后的每个采样点在世界坐标系中的坐标;
处理模块,用于根据移动后的每个采样点在世界坐标系中的坐标对移动后的每个采样点进行处理,以获取最终的变形文字。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911231887.4A CN111144064B (zh) | 2019-12-05 | 2019-12-05 | 文字变形方法、介质、设备及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911231887.4A CN111144064B (zh) | 2019-12-05 | 2019-12-05 | 文字变形方法、介质、设备及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111144064A CN111144064A (zh) | 2020-05-12 |
CN111144064B true CN111144064B (zh) | 2022-07-19 |
Family
ID=70517606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911231887.4A Active CN111144064B (zh) | 2019-12-05 | 2019-12-05 | 文字变形方法、介质、设备及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111144064B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1664846A (zh) * | 2005-04-01 | 2005-09-07 | 清华大学 | 基于统计结构特征的联机手写汉字识别方法 |
CN103473572A (zh) * | 2013-09-17 | 2013-12-25 | 南京师范大学 | 一种手写汉字美观度的评价方法 |
CN106873600A (zh) * | 2017-03-31 | 2017-06-20 | 深圳市靖洲科技有限公司 | 一种面向无人自行车的局部避障路径规划方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110285736A1 (en) * | 2010-05-21 | 2011-11-24 | Kilgard Mark J | Decomposing cubic bèzier segments for tessellation-free stencil filling |
-
2019
- 2019-12-05 CN CN201911231887.4A patent/CN111144064B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1664846A (zh) * | 2005-04-01 | 2005-09-07 | 清华大学 | 基于统计结构特征的联机手写汉字识别方法 |
CN103473572A (zh) * | 2013-09-17 | 2013-12-25 | 南京师范大学 | 一种手写汉字美观度的评价方法 |
CN106873600A (zh) * | 2017-03-31 | 2017-06-20 | 深圳市靖洲科技有限公司 | 一种面向无人自行车的局部避障路径规划方法 |
Non-Patent Citations (1)
Title |
---|
融合深度图和三维模型的人体运动捕捉技术研究;魏知晓;《中国优秀硕士学位论文全文数据库》;20120715;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111144064A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105993034B (zh) | 用于增强表面重构的轮廓求全 | |
US8368714B2 (en) | Curved surface rendering system and method | |
US8089480B2 (en) | Method for meshing a curved surface | |
US9208609B2 (en) | Method for fitting primitive shapes to 3D point clouds using distance fields | |
CN111160085A (zh) | 一种人体图像关键点姿态估计方法 | |
EP3188033A1 (en) | Reconstructing a 3d modeled object | |
CN109583509B (zh) | 数据生成方法、装置及电子设备 | |
CN111581776B (zh) | 一种基于几何重建模型的等几何分析方法 | |
CN106251384A (zh) | 使用三角形的递归再分的细分方法 | |
US20230169677A1 (en) | Pose Estimation Method and Apparatus | |
JP6872044B2 (ja) | 対象物の外接枠を決定するための方法、装置、媒体及び機器 | |
US11893690B2 (en) | 3D reconstruction with smooth maps | |
EP3736776A1 (en) | Apparatus, system and method for the generation of polygonal meshes | |
US20240265635A1 (en) | Automated mesh generation | |
CN115578236A (zh) | 基于物理引擎和碰撞实体的位姿估计虚拟数据集生成方法 | |
JP2018067188A (ja) | カメラ情報修正装置、カメラ情報修正方法、及びカメラ情報修正プログラム | |
EP4099208A1 (en) | Deep parameterization for 3d shape optimization | |
CN108665548B (zh) | 一种基于星形假设的点云快速渐进式重建方法 | |
CN111144064B (zh) | 文字变形方法、介质、设备及装置 | |
JP2016157174A (ja) | 3次元空間データ補間プログラム、ならびに、それを組み合わせて実現する形状発生プログラム | |
CN114913305B (zh) | 模型处理方法、装置、设备、存储介质及计算机程序产品 | |
US10861174B2 (en) | Selective 3D registration | |
JP2024521816A (ja) | 無制約画像手ぶれ補正 | |
Madera et al. | A hybrid bounding volume algorithm to detect collisions between deformable objects | |
CN111369441B (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 |