CN115641590A - 一种ofd文档的文字旋转定位方法、系统和存储介质 - Google Patents
一种ofd文档的文字旋转定位方法、系统和存储介质 Download PDFInfo
- Publication number
- CN115641590A CN115641590A CN202211071914.8A CN202211071914A CN115641590A CN 115641590 A CN115641590 A CN 115641590A CN 202211071914 A CN202211071914 A CN 202211071914A CN 115641590 A CN115641590 A CN 115641590A
- Authority
- CN
- China
- Prior art keywords
- ofd
- text
- rotated
- target
- displacement parameter
- 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
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
本发明涉及一种OFD文档的文字旋转定位方法、系统和存储介质,包括:获取待旋转OFD文本在原始位置处的目标文本框;基于目标旋转角度,得到并根据目标文本框的旋转参数,对目标文本框进行旋转,得到待旋转OFD文本的第一旋转位置;根据待旋转OFD文本在原始位置处的紧贴矩形和待旋转OFD文本在第一旋转位置处的紧贴矩形,计算得到目标文本框的位移参数;根据位移参数,对包含待旋转OFD文本的目标文本框进行移动,得到待旋转OFD文本的目标旋转位置。本发明通过对OFD文档的文字进行旋转,有效地避免了旋转时文本框与文字不紧贴带来的误差,实现了不依赖代码和字库接口对文字进行旋转,且具有较好的视觉效果。
Description
技术领域
本发明涉及IT数字化技术领域,尤其涉及一种OFD文档的文字旋转定位方法、系统和存储介质。
背景技术
目前对OFD文档中的文字(文字串)进行旋转时,常见的方式有两种,一是组合CharDirection与ReadDirection属性;二是调整文本对象中的CTM(“当前的变换矩阵Current Transformation Matrix”)。前者相对简单,但灵活度不够;后者非常灵活,但计算复杂一些。
OFD是一种板式文档,版式文档的一个特点是便于浏览但难于编辑(例如PDF是一种版式文件,一般不易被编辑)。OFD浏览软件对OFD文件进行编辑的功能通常很弱,例如对文字进行旋转、移动等编辑操作,OFD浏览软件通常不提供这些功能。对专业的OFD编辑人员,常利用OFD文件也是一种zip压缩文件的特点,将之用解压工具解压,再直接修改其中(xml)文件内容来对OFD文件进行调整。在手工修改的情形下,无法依靠代码来计算CTM中的各个参数。因此,亟需提供一种技术方案解决上述问题。
发明内容
为解决上述技术问题,本发明提供了一种OFD文档的文字旋转定位方法、系统和存储介质。
本发明的一种OFD文档的文字旋转定位方法的技术方案如下:
获取待旋转OFD文本在原始位置处的目标文本框;
基于目标旋转角度,得到并根据所述目标文本框的旋转参数,对包含所述待旋转OFD文本的所述目标文本框进行旋转,得到所述待旋转OFD文本的第一旋转位置;
根据所述待旋转OFD文本在所述原始位置处的原始紧贴矩形和所述待旋转OFD文本在所述第一旋转位置处的第一紧贴矩形,计算得到所述目标文本框的位移参数;
根据所述位移参数,对包含所述待旋转OFD文本的所述目标文本框进行移动,得到所述待旋转OFD文本的目标旋转位置。
本发明的一种OFD文档的文字旋转定位方法的有益效果如下:
本发明的方法通过对OFD文档的文字进行旋转,有效地避免了旋转时文本框与文字不紧贴带来的误差。此外,实现了不依赖代码和字库接口对文字进行旋转,且具有较好的视觉效果。
在上述方案的基础上,本发明的一种OFD文档的文字旋转定位方法还可以做如下改进。
进一步,所述目标文本框为:Boundary文本框。
进一步,每个目标旋转角度对应一组旋转参数;所述根据所述目标文本框的旋转参数,对包含所述待旋转OFD文本的所述目标文本框进行旋转,得到所述待旋转OFD文本的第一旋转位置,包括:
选取所述目标文本框的左上角作为旋转点,并根据所述目标旋转角度对应的一组旋转参数,控制所述目标文本框以所述旋转点进行旋转,得到所述待旋转OFD文本的所述第一旋转位置。
进一步,所述位移参数包括:第一位移参数和第二位移参数;
所述根据所述待旋转OFD文本在所述原始位置处的原始紧贴矩形和所述待旋转OFD文本在所述第一旋转位置处的第一紧贴矩形,计算得到所述目标文本框的位移参数,包括:
根据第一精确位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第一位移参数,或,根据第一估算位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第一位移参数;
根据第二精确位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第二位移参数,或,根据第二估算位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第二位移参数。
进一步,所述待旋转OFD文本包括:至少一个目标字符,所述目标旋转角度为:90度、180度或270度;
当所述目标旋转角度为90度时,所述第一精确位移参数计算公式为:e1=ptStart.y-Min(metrics[i].bearingY-metrics[i].height)+ptStart.x+metrics[0].bearingX;其中,e1为所述目标旋转角度为90度时所对应的第一位移参数,ptStart.y为所述待旋转OFD文本中的第一个字符的字型基点在对象坐标系下的X坐标,ptStart.x为所述待旋转OFD文本中的第一个文字的字型基点在对象坐标系下的Y坐标,metrics[i]表示所述待旋转OFD文本中的第i个字体的规格,bearingY表示Y方向上的文字度量值,bearingX表示X方向上的文字度量值,height表示文字度量高度值,Min(metrics[i].bearingY-metrics[i].height)表示在所述待旋转OFD文本中,每个字符的bearingY-height值中的最小值,metrics[0].bearingX表示所述待旋转OFD文本的第一个字符在X方向上的文字度量值;
当所述目标旋转角度为90度时,所述第二精确位移参数计算公式为:
f1=ptStart.y-Max(metrics[i].bearingY)-ptStart.x-metrics[0].bearingX;其中,f1为所述目标旋转角度为90度时所对应的第二位移参数,Max(metrics[i].bearingY)表示在所述待旋转OFD文本中,所有字符中bearingY的最大值;
当所述目标旋转角度为90度时,所述第一估算位移参数计算公式为:
e1=ptStart.y+ptStart.x+fontSize×α_x[0]×0.1;其中,fontSize为所述待旋转OFD文本的字体大小,α_x[0]表示所述待旋转OFD文本中的第一个字符的α_x值,α_x表示不同字符的宽度与所述待旋转OFD文本中对应字符的fontSize的比值;
当所述目标旋转角度为90度时,所述第二估算位移参数计算公式为:
f1=ptStart.y-ptStart.x-fontSize×(α_y[max]-α_x[0]);其中,α_y[max]表示所述待旋转OFD文本中所有字符的α_y值中的最大值;
当所述目标旋转角度为180度时,所述第一精确位移参数计算公式为:
e2=ptStart.x+Σ△x[i]+metrics[n-1].bearingX+metrics[n-1].width+ptStart.x+metrics[0].bearingX;其中,e2为所述目标旋转角度为180度时所对应的第一位移参数,metrics[0]表示所述待旋转OFD文本的首个字符,metrics[n-1]表示所述待旋转OFD文本的最后一个字符,△x为所述待旋转OFD文本中double型的数值队列,队列中的每个值代表后一个文字与前一个文字之间在X方向的偏移值,Σ△x[i]表示所述数值队列的求和;
当所述目标旋转角度为180度时,所述第二精确位移参数计算公式为:
f2=-Min(metrics[i].horiBearingY-metrics[i].height)+ptStart.y+ptStart.y–Max(metrics[i].horiBearingY);其中,f2为所述目标旋转角度为180度时所对应的第二位移参数,Max(metrics[i].horiBearingY)表示所述待旋转OFD文本中的所有字符的horiBearingY中的最大值;Min(metrics[i].horiBearingY-metrics[i].height)表示所述待旋转OFD文本中的所有字符的horiBearingY–height中的最小值;
当所述目标旋转角度为180度时,所述第一估算位移参数计算公式为:
e2=2×ptStart.x+Σ△x[i]+fontSize×(α_x[last]+α_x[0]);其中,α_y[last]表示所述待旋转OFD文本中的最后一个字符的α_y值;
当所述目标旋转角度为180度时,所述第二估算位移参数计算公式为:
f2=2×ptStart.y-fontSize×α_y[max];其中,α_y[max]表示所述待旋转OFD文本中的所有字符的α_y值的最大值;
当所述目标旋转角度为270度时,所述第一精确位移参数计算公式为:
e3=-(ptStart.y-Max(metrics[i].bearingY)-ptStart.x-metrics[0].bearingX);其中,e3为所述目标旋转角度为270度时所对应的第一位移参数;
当所述目标旋转角度为270度时,所述第二精确位移参数计算公式为:
f3=ptStart.x+metrics[0].bearingX+ptStart.y-Min(metrics[i].bearingY-metrics[i].height);f3为所述目标旋转角度为270度时所对应的第二位移参数;
当所述目标旋转角度为270度时,所述第一估算位移参数计算公式为:
e3=-(ptStart.y–ptStart.x-fontSize×(α_x[max]+α_x[0]));其中,α_x[max]表示所述待旋转OFD文本中的所有字符的α_x值的最大值;
当所述目标旋转角度为270度时,所述第二估算位移参数计算公式为:
f3=ptStart.y+ptStart.x+fontSize×(α_x[0]+1-α_y[max])。
本发明的一种OFD文档的文字旋转定位系统的技术方案如下:
包括:获取模块、处理模块、计算模块和运行模块;
所述获取模块用于:获取待旋转OFD文本在原始位置处的目标文本框;
所述处理模块用于:基于目标旋转角度,得到并根据所述目标文本框的旋转参数,对包含所述待旋转OFD文本的所述目标文本框进行旋转,得到所述待旋转OFD文本的第一旋转位置;
所述计算模块用于:根据所述待旋转OFD文本在所述原始位置处的原始紧贴矩形和所述待旋转OFD文本在所述第一旋转位置处的第一紧贴矩形,计算得到所述目标文本框的位移参数;
所述运行模块用于:根据所述位移参数,对包含所述待旋转OFD文本的所述目标文本框进行移动,得到所述待旋转OFD文本的目标旋转位置。
本发明的一种OFD文档的文字旋转定位系统的有益效果如下:
本发明的系统通过对OFD文档的文字进行旋转,有效地避免了旋转时文本框与文字不紧贴带来的误差,实现了不依赖代码和字库接口对文字进行旋转,且具有较好的视觉效果。
在上述方案的基础上,本发明的一种OFD文档的文字旋转定位系统还可以做如下改进。
进一步,所述目标文本框为:Boundary文本框。
进一步,每个目标旋转角度对应一组旋转参数;所述处理模块具体用于:
选取所述目标文本框的左上角作为旋转点,并根据所述目标旋转角度对应的一组旋转参数,控制所述目标文本框以所述旋转点进行旋转,得到所述待旋转OFD文本的所述第一旋转位置。
进一步,所述位移参数包括:第一位移参数和第二位移参数;
所述计算模块具体用于:
根据第一精确位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第一位移参数,或,根据第一估算位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第一位移参数;
根据第二精确位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第二位移参数,或,根据第二估算位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第二位移参数。
本发明的一种存储介质的技术方案如下:
存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如本发明的一种OFD文档的文字旋转定位方法的步骤。
附图说明
图1为本发明实施例的一种OFD文档的文字旋转定位方法的流程示意图;
图2为本发明实施例的一种OFD文档的文字旋转定位方法中的Boundary文本框的示意图;
图3为本发明实施例的一种OFD文档的文字旋转定位方法中的文本框参数示意图;
图4为本发明实施例的一种OFD文档的文字旋转定位方法中的包围矩阵示意图;
图5为本发明实施例的一种OFD文档的文字旋转定位方法中的紧贴矩形示意图;
图6为本发明实施例的一种OFD文档的文字旋转定位方法中的文字旋转示意图;
图7为本发明实施例的一种OFD文档的文字旋转定位方法中的旋转90度时的待旋转OFD文本的文本示意图;
图8为本发明实施例的一种OFD文档的文字旋转定位方法中的旋转90度时的CTM精确计算所对应的文本示意图;
图9为本发明实施例的一种OFD文档的文字旋转定位方法中的旋转90度时的CTM精确计算所对应旋转效果示意图;
图10为本发明实施例的一种OFD文档的文字旋转定位方法中的旋转90度时的CTM估算计算所对应的文本示意图;
图11为本发明实施例的一种OFD文档的文字旋转定位方法中的旋转90度时的CTM估算计算所对应旋转效果示意图;
图12为本发明实施例的一种OFD文档的文字旋转定位方法中的旋转180度时的待旋转OFD文本的文本示意图;
图13为本发明实施例的一种OFD文档的文字旋转定位方法中的旋转180度时的CTM精确计算所对应的文本示意图;
图14为本发明实施例的一种OFD文档的文字旋转定位方法中的旋转180度时的CTM精确计算所对应旋转效果示意图;
图15为本发明实施例的一种OFD文档的文字旋转定位方法中的旋转180度时的CTM估算计算所对应的文本示意图;
图16为本发明实施例的一种OFD文档的文字旋转定位方法中的旋转180度时的CTM估算计算所对应旋转效果示意图;
图17为本发明实施例的一种OFD文档的文字旋转定位方法中的旋转270度时的待旋转OFD文本的文本示意图;
图18为本发明实施例的一种OFD文档的文字旋转定位方法中的旋转270度时的CTM精确计算所对应的文本示意图;
图19为本发明实施例的一种OFD文档的文字旋转定位方法中的旋转270度时的CTM精确计算所对应旋转效果示意图;
图20为本发明实施例的一种OFD文档的文字旋转定位方法中的旋转270度时的CTM估算计算所对应的文本示意图;
图21为本发明实施例的一种OFD文档的文字旋转定位方法中的旋转270度时的CTM估算计算所对应旋转效果示意图;
图22为本发明实施例的一种OFD文档的文字旋转定位系统的结构示意图。
具体实施方式
如图1所示,本发明实施例的一种OFD文档的文字旋转定位方法,包括如下步骤:
S1、获取待旋转OFD文本在原始位置处的目标文本框。
其中,待旋转OFD文本为:用户在OFD文档中所选中的任意文本。原始位置为:OFD文档处的任意位置。目标文本框为:Boundary文本框。
需要说明的是,常见的文本框类型有三种。一是Boundary文本框。如图2所示,Boundary文本框是OFD规范中定义的,文字所处的一个外框。如图3所示,Boundary文本框与第一个文字的基点距离由X、Y参数确定,基点的定义参见OFD规范,此处不再赘述。文字的CTM属性作用于Boundary文本框上。当Boundary文本框发生旋转时,文字与Boundary文本框一同旋转,也就有了旋转的效果。二是包围矩形。如图4所示,用FontCreator等软件能够看到字库中的每个字符都有一个包围矩形,该矩形并不与文字的笔画紧贴。三是紧贴矩形。如图5所示,紧贴矩形的特点是矩形紧贴着文字的笔划。对一行文字而言,文字行的紧贴矩形为其中所有字符的紧贴矩形的并集。本实施例中的文本框采用Boundary文本框,以Boundary文本框的左上角为旋转点,首先通过设置CTM的a、b、c、d参数使之以Boundary文本框的左上角为旋转点旋转一定的目标角度,再通过计算e、f参数,在水平及竖直方向调整文字,使待旋转OFD文本的紧贴矩形,与旋转后文字的旋转矩阵左上角对齐。
需要说明的是,OFD规范是现有技术,为已发布的国家标准,全称为《电子文件存储与交换格式版式文档》(GB/T 33190-2016)。Boundary在该规范中的“图元对象属性定义”中描述为“外接矩形,采用当前空间坐标系页面坐标当图元绘制超出此矩形区域时进行裁剪”。
S2、基于目标旋转角度,得到并根据所述目标文本框的旋转参数,对包含所述待旋转OFD文本的所述目标文本框进行旋转,得到所述待旋转OFD文本的第一旋转位置。
其中,目标旋转角度为:90度、180度或270度。目标文本框的旋转参数为:CTM中a、b、c、d参数。第一旋转位置为:待旋转OFD文本的以目标文本框的左上角为旋转点,旋转目标旋转角度后所得到的位置(如图6所示)。
S3、根据所述待旋转OFD文本在所述原始位置处的原始紧贴矩形和所述待旋转OFD文本在所述第一旋转位置处的第一紧贴矩形,计算得到所述目标文本框的位移参数。
其中,待旋转OFD文本在原始位置处的原始紧贴矩形如图5所示。位移参数的计算方式包括:精确位移计算法和估算位移计算法。目标文本框的位移参数为:CTM中的e和f参数。
S4、根据所述位移参数,对包含所述待旋转OFD文本的所述目标文本框进行移动,得到所述待旋转OFD文本的目标旋转位置。
其中,位移参数能够使目标文本框在x和y方向进行移动。
较优地,每个目标旋转角度对应一组旋转参数。
其中,旋转参数为:目标文本框的CTM中a、b、c、d。当目标旋转角度为90度时,a1=0;b1=1;c1=-1;d1=0;当目标旋转角度为180度时,a2=0;b2=-1;c2=1;d2=0;当目标旋转角度为270度时,a3=0;b3=-1;c3=1;d3=0。
所述S2包括:
选取所述目标文本框的左上角作为旋转点,并根据所述目标旋转角度对应的一组旋转参数,控制所述目标文本框以所述旋转点进行旋转,得到所述待旋转OFD文本的所述第一旋转位置。
较优地,所述位移参数包括:第一位移参数和第二位移参数。
其中,第一位移参数为:经过第一精确位移参数计算公式或第一估算位移参数计算公式计算所得到的参数。第二位移参数为:经过第二精确位移参数计算公式或第二估算位移参数计算公式计算所得到的参数。
所述S3包括:
S31、根据第一精确位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第一位移参数,或,根据第一估算位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第一位移参数。
S32、根据第二精确位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第二位移参数,或,根据第二估算位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第二位移参数。
较优地,所述待旋转OFD文本包括:至少一个目标字符。
当所述目标旋转角度为90度时,所述第一精确位移参数计算公式为:e1=ptStart.y-Min(metrics[i].bearingY-metrics[i].height)+ptStart.x+metrics[0].bearingX;其中,e1为所述目标旋转角度为90度时所对应的第一位移参数,ptStart.y为所述待旋转OFD文本中的第一个字符的字型基点在对象坐标系下的X坐标,ptStart.x为所述待旋转OFD文本中的第一个文字的字型基点在对象坐标系下的Y坐标,metrics[i]表示所述待旋转OFD文本中的第i个字体的规格,bearingY表示Y方向上的文字度量值,bearingX表示X方向上的文字度量值,height表示文字度量高度值,Min(metrics[i].bearingY-metrics[i].height)表示在所述待旋转OFD文本中,每个字符的bearingY-height值中的最小值,metrics[0].bearingX表示所述待旋转OFD文本的第一个字符在X方向上的文字度量值。
当所述目标旋转角度为90度时,所述第二精确位移参数计算公式为:
f1=ptStart.y-Max(metrics[i].bearingY)-ptStart.x-metrics[0].bearingX;其中,f1为所述目标旋转角度为90度时所对应的第二位移参数,Max(metrics[i].bearingY)表示在所述待旋转OFD文本中,所有字符中bearingY的最大值。
当所述目标旋转角度为90度时,所述第一估算位移参数计算公式为:
e1=ptStart.y+ptStart.x+fontSize×α_x[0]×0.1;其中,fontSize为所述待旋转OFD文本的字体大小,α_x[0]表示所述待旋转OFD文本中的第一个字符的α_x值,α_x表示不同字符的宽度与所述待旋转OFD文本中对应字符的fontSize的比值。
需要说明的是,α_x表的查询方法为:根据待查字符的“字符”和“字体”在α_x的取值表中找到对应的等级,即可取到该字符对应的α_x。
其中,α_x的取值表的获取步骤为:①将1、2级汉字(6763个)、0-9、a-z、A-Z这些常见字符,和常见的宋、仿宋、楷、黑、隶书五种常见或宽高比差异大的字体,在给定的字体大小下进行宽度统计,注意,此处不统计字符的horiAdvance值,而统计字符贴边的width值。②对宋体,计算统计出的每个字符宽度除以统计时使用的字体大小,即α=width/fontSize,对α从小到大排序,可获得宋体每个字符的α系数值序列。③以宋体为参照,将α系数值分为5个等级,列出对应的字符中,得到下表1。④去掉部分罕见字符,例如礻、犭、扌等。再观察其它字体与宋体a值的差异比例。可以发现除了仿宋外,其它字体的a值与宋体差异不大。取仿宋部分典型字符的a值,与宋体比较估算出a[仿宋]/a[宋体]=0.76。按此比例对a[仿宋]进行调整,并列到表中,得到下表2。
表1
表2
当所述目标旋转角度为90度时,所述第二估算位移参数计算公式为:
f1=ptStart.y-ptStart.x-fontSize×(α_y[max]-α_x[0]);其中,α_y[max]表示所述待旋转OFD文本中所有字符的α_y值中的最大值。
需要说明的是,α_y表的查询方法为:根据待查字符的“字符”和“字体”在α_y表中找到对应的等级,即可取到该字符对应的α_y。
其中,α_y的取值表的获取步骤为:①将1、2级汉字(6763个)、0-9、a-z、A-Z这些常见字符,和常见的宋、仿宋、楷、黑、隶书五种常见或宽高比差异大的字体,在给定的字体大小下进行高度统计。②对宋体,计算统计出的每个字符高度除以统计时使用的字体大小,即α=height/fontSize,对α从小到大排序,可获得宋体每个字符的α系数值序列。③将α系数值分为5个等级,将对应的文字归入其中。同时,对下沿超出字符基线的5个字符jpqgy,考虑到其下沿在与其它字符(包括中英文)混排的情况下,会拉低整个文字串的包围矩形,将其调整到等级5。得到下表3。④去掉部分罕见字符,例如彐、冫、氵、廴等。其他字体与宋体按相同的比例估计,类似统计α_x表时对其它字体的处理,观察可见,y方向尺寸较小的楷体(字形偏小)、隶书(字形扁平)其α_y与宋体差异较大,其它字体与宋体差异较小。对楷体和隶书进行调整,单列出来,得到下表4。
表3
表4
当所述目标旋转角度为180度时,所述第一精确位移参数计算公式为:
e2=ptStart.x+Σ△x[i]+metrics[n-1].bearingX+metrics[n-1].width+ptStart.x+metrics[0].bearingX;其中,e2为所述目标旋转角度为180度时所对应的第一位移参数,metrics[0]表示所述待旋转OFD文本的首个字符,metrics[n-1]表示所述待旋转OFD文本的最后一个字符,△x为所述待旋转OFD文本中double型的数值队列,队列中的每个值代表后一个文字与前一个文字之间在X方向的偏移值,Σ△x[i]表示所述数值队列的求和。
需要说明的是,当△x不出现时,表示文字的绘制点在X方向不做偏移。
当所述目标旋转角度为180度时,所述第二精确位移参数计算公式为:
f2=-Min(metrics[i].horiBearingY-metrics[i].height)+ptStart.y+ptStart.y–Max(metrics[i].horiBearingY);
其中,f2为所述目标旋转角度为180度时所对应的第二位移参数,Max(metrics[i].horiBearingY)表示所述待旋转OFD文本中的所有字符的horiBearingY中的最大值;Min(metrics[i].horiBearingY-metrics[i].height)表示所述待旋转OFD文本中的所有字符的horiBearingY–height中的最小值。
当所述目标旋转角度为180度时,所述第一估算位移参数计算公式为:
e2=2×ptStart.x+Σ△x[i]+fontSize×(α_x[last]+α_x[0]);其中,α_y[last]表示所述待旋转OFD文本中的最后一个字符的α_y值。
当所述目标旋转角度为180度时,所述第二估算位移参数计算公式为:
f2=2×ptStart.y-fontSize×α_y[max];其中,α_y[max]表示所述待旋转OFD文本中的所有字符的α_y值的最大值。
当所述目标旋转角度为270度时,所述第一精确位移参数计算公式为:
e3=-(ptStart.y-Max(metrics[i].bearingY)-ptStart.x-metrics[0].bearingX);其中,e3为所述目标旋转角度为270度时所对应的第一位移参数。
当所述目标旋转角度为270度时,所述第二精确位移参数计算公式为:
f3=ptStart.x+metrics[0].bearingX+ptStart.y-Min(metrics[i].bearingY-metrics[i].height);f3为所述目标旋转角度为270度时所对应的第二位移参数。
当所述目标旋转角度为270度时,所述第一估算位移参数计算公式为:
e3=-(ptStart.y–ptStart.x-fontSize×(α_x[max]+α_x[0]));其中,α_x[max]表示所述待旋转OFD文本中的所有字符的α_x值的最大值。
当所述目标旋转角度为270度时,所述第二估算位移参数计算公式为:
f3=ptStart.y+ptStart.x+fontSize×(α_x[0]+1-α_y[max])。
需要说明的是,如图6所示,当旋转90度后,Boundary文本框的宽和高发生了互换,因此对应将Boundary文本框中的宽与高的值互换。当旋转180度后,Boundary文本框的宽和高不发生变化,不需要调整。当旋转270度后,Boundary文本框的宽和高的值应调换。
为更好地说明本实施例的技术方案,本实施例通过控制一个具体OFD文本,说明对单行文本分别顺时针旋转90度、180度、270度时,CTM(旋转参数和位移参数)的精确计算和估算方法。
一、旋转90度。待旋转OFD文本见图7。原始的CTM="1 0 0 1 0 0"包围矩形Boundary="20 50 42.5 20"Font="168"指示为隶书,文字大小Size="8.5",颜色为黑色。ptStart.x=8.5,ptStart.y=12,△x序列为8.5 8.5 8.5,文字内容为“一篇文档”这几个字。
①计算CTM参数。
精确计算公式:对a、b、c、d这四个值,可将α=90°直接带入,计算为:a1=0;b1=1;c1=-1;d1=0;调用字库的Api,得到各字符的bearingX、bearingY、width、height值。具体如表5。
表5
字符 | bearingX | bearingY | width | height |
一 | 0.39 | 3.52 | 7.84 | 1.73 |
篇 | 0.2 | 5.51 | 8.1 | 5.38 |
文 | 0.26 | 5.37 | 8.03 | 5.64 |
档 | 0.26 | 5.44 | 7.56 | 5.31 |
计算e1值:
e1=ptStart.y–Min(metrics[i].bearingY-metrics[i].height)+ptStart.x+metrics[0].bearingX
=12–(-0.2635)+8.5+0.39
=21.15
计算f1值:
f1=ptStart.y-Max(metrics[i].bearingY-ptStart.x–metrics[0].bearingX
=12-5.51–8.5–0.39
=-2.40
旋转后的OFD文本见图8;旋转后的文字用黑色显示,结果见图9。
估算计算公式:
对a、b、c、d值,可直接得出,同精确计算的情况。
估算e1值,公式为:e1=ptStart.y+ptStart.x+fontSize×α_x[0]×0.1。
查表可知,“一”属于等级5,对应的隶书α_x=0.8,则
e1=12+8.5+8.5×0.8×0.1=21.18;
估算f1值,公式为:f1=ptStart.y-ptStart.x–fontSize×(α_y[max]-α_x[0]);通过查α_y表,得到隶书“一篇文档”这几个字符中,“一”属于等级1,“篇文档”均属于等级5。α_y[max]为最大的等级5,该等级对应隶书的α_y[max]值为0.6695。通过查α_x表,隶书“一”查得α_x[0]=0.8,α_90_x[0]=α_x[0]×0.1=0.08
f2=12-8.5–8.5×(0.6695-0.08)
=-2.28
旋转后的OFD文本见图10;旋转后的文字用红色显示,结果见图11。
②调整OFD TextObject对象的Boundary值。文本对象的Boundary属性:Boundary="20 50 42.5 20",将宽与高对调后,得到Boundary="20 50 20 42.5"。
二、旋转180度。待旋转OFD文本见图12。
原始的CTM="1 0 0 1 0 0"包围矩形Boundary="20 50 42.5 20"Font="169"指示为仿宋,文字大小Size="8.5",颜色为黑色。
ptStart.x=8.5,ptStart.y=12,△x序列为8.5 8.5 8.5,文字内容为“一篇文档”这几个字。
①计算CTM参数
精确计算公式:对a2、b2、c2、d2这四个值,可见α=180°直接带入,计算为:a2=0;b2=-1;c2=1;d2=0;
如表6所示,调用字库的Api,得到各字符的bearingX、bearingY、width、height值。
表6
字符 | bearingX | bearingY | width | height |
一 | 0.09 | 5.91 | 2.54 | 5.91 |
篇 | 0.49 | 7.22 | 7.06 | 8.26 |
文 | 0.66 | 7.07 | 7.22 | 7.79 |
档 | 0.58 | 7.07 | 7.04 | 7.95 |
计算e2值:
e2=ptStart.x+Σ△x[i]+metrics[n-1].bearingX+metrics[n-1].width+ptStart.x+metrics[0].bearingX
=8.5+(8.5+8.5+8.5)+0.58+7.04+8.5+0.09
=50.21
计算f2值:
f2=-Min(metrics[i].horiBearingY-metrics[i].height)+ptStart.y+ptStart.y–Max(metrics[i].horiBearingY)
=-(-1.0455+12+12–7.22)
=17.83
旋转后的OFD文本见图13;旋转后的文字用黑色显示,结果见图14。
估算计算公式:
对a、b、c、d值,可直接得出,同精确计算的情况。
估算e2值,公式为:
e2=2×ptStart.x+Σ△x[i]+fontSize×(α_x[last]+α_x[0])
=2×8.5+3×8.5+8.5×(0.69+0.19)
=49.98
估算f2值,公式为:
f2=2×ptStart.y-fontSize×α_y[max]
=2×12.5+8.5*0.85
=17.78
旋转后的OFD文本见图15;旋转后的文字用红色显示,结果见图16。
②调整OFD TextObject对象的Boundary值。旋转180度后,Boundary文本框的宽和高不发生变化,不需要调整。
三、旋转270度。待旋转OFD文本见图17。
原始的CTM="1 0 0 1 0 0"包围矩形Boundary="20 50 42.5 75"Font="175"指示为仿宋,文字大小Size="8.5",颜色为黑色。
ptStart.x=8.5,ptStart.y=40,△x序列为8.5 8.5 8.5,文字内容为“一篇文档”。
①,计算CTM参数
精确计算公式:对a3、b3、c3、d3这四个值,可见α=270°直接带入,计算为:a3=0;b3=-1;c3=1;d3=0;如表7所示,调用字库的Api,得到各字符的bearingX、bearingY、width、height值。
表7
字符 | bearingX | bearingY | width | height |
一 | 0.7 | 3.89 | 7 | 0.96 |
篇 | 0.49 | 7.22 | 7.06 | 8.26 |
文 | 0.66 | 7.07 | 7.22 | 7.79 |
档 | 0.58 | 7.07 | 7.04 | 7.95 |
计算e3值:
e3=-(ptStart.y-Max(metrics[i].bearingY)-ptStart.x-metrics[0].bearingX);
=-(40–7.22–8.5–0.70)
=-23.59
计算f3值:
f3=ptStart.x+metrics[0].bearingX+ptStart.y-Min(metrics[i].bearingY-metrics[i].height)
=8.5+0.094+40–(-1.046)
=49.64
旋转后的OFD文本见图18;旋转后的文字用黑色显示,结果见图19。
估算计算公式:对a3、b3、c3、d3值,可直接得出,同精确计算的情况。
估算e3值,公式为:
e3=-(ptStart.y–ptStart.x-fontSize×(α_x[max]+α_x[0]))
=-(40–8.5–8.5×(0.608+0.19))
=-24.72
估算f3值,公式为:
f3=ptStart.y+ptStart.x+fontSize×(α_x[0]+1-α_y[max])
=40+8.5+8.5×(0.19+1-0.85))
=51.39
旋转后的OFD文本见图20;旋转后的文字用红色显示,结果见图21。
②调整OFD TextObject对象的Boundary值。如图8所示,当旋转270度后,Boundary文本框的宽和应调换。Boundary="20 50 42.5 75"变为Boundary="20 50 75 42.5"。
本实施例的技术方案通过对OFD文档的文字进行旋转,有效地避免了旋转时文本框与文字不紧贴带来的误差,实现了不依赖代码和字库接口对文字进行旋转,且具有较好的视觉效果。
如图22所示,本发明实施例的一种OFD文档的文字旋转定位系统200,包括:获取模块210、处理模块220、计算模块230和运行模块240;
所述获取模块210用于:获取待旋转OFD文本在原始位置处的目标文本框;
所述处理模块220用于:基于目标旋转角度,得到并根据所述目标文本框的旋转参数,对包含所述待旋转OFD文本的所述目标文本框进行旋转,得到所述待旋转OFD文本的第一旋转位置;
所述计算模块230用于:根据所述待旋转OFD文本在所述原始位置处的原始紧贴矩形和所述待旋转OFD文本在所述第一旋转位置处的第一紧贴矩形,计算得到所述目标文本框的位移参数;
所述运行模块240用于:根据所述位移参数,对包含所述待旋转OFD文本的所述目标文本框进行移动,得到所述待旋转OFD文本的目标旋转位置。
较优地,所述目标文本框为:Boundary文本框。
较优地,每个目标旋转角度对应一组旋转参数;所述处理模块220具体用于:
选取所述目标文本框的左上角作为旋转点,并根据所述目标旋转角度对应的一组旋转参数,控制所述目标文本框以所述旋转点进行旋转,得到所述待旋转OFD文本的所述第一旋转位置。
较优地,所述位移参数包括:第一位移参数和第二位移参数;
所述计算模块230具体用于:
根据第一精确位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第一位移参数,或,根据第一估算位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第一位移参数;
根据第二精确位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第二位移参数,或,根据第二估算位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第二位移参数。
本实施例的技术方案通过对OFD文档的文字进行旋转,有效地避免了旋转时文本框与文字不紧贴带来的误差,实现了不依赖代码和字库接口对文字进行旋转,且具有较好的视觉效果。
上述关于本实施例的一种OFD文档的文字旋转定位系统200中的各参数和各个模块实现相应功能的步骤,可参考上文中关于一种OFD文档的文字旋转定位方法的实施例中的各参数和步骤,在此不做赘述。
本发明实施例提供的一种存储介质,包括:存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如一种OFD文档的文字旋转定位方法的步骤,具体可参考上文中一种OFD文档的文字旋转定位方法的实施例中的各参数和步骤,在此不做赘述。
计算机存储介质例如:优盘、移动硬盘等。
所属技术领域的技术人员知道,本发明可以实现为方法、系统和存储介质。
因此,本发明可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM),只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种OFD文档的文字旋转定位方法,其特征在于,包括:
获取待旋转OFD文本在原始位置处的目标文本框;
基于目标旋转角度,得到并根据所述目标文本框的旋转参数,对包含所述待旋转OFD文本的所述目标文本框进行旋转,得到所述待旋转OFD文本的第一旋转位置;
根据所述待旋转OFD文本在所述原始位置处的原始紧贴矩形和所述待旋转OFD文本在所述第一旋转位置处的第一紧贴矩形,计算得到所述目标文本框的位移参数;
根据所述位移参数,对包含所述待旋转OFD文本的所述目标文本框进行移动,得到所述待旋转OFD文本的目标旋转位置。
2.根据权利要求1所述的一种OFD文档的文字旋转定位方法,其特征在于,所述目标文本框为:Boundary文本框。
3.根据权利要求1所述的一种OFD文档的文字旋转定位方法,其特征在于,每个目标旋转角度对应一组旋转参数;所述根据所述目标文本框的旋转参数,对包含所述待旋转OFD文本的所述目标文本框进行旋转,得到所述待旋转OFD文本的第一旋转位置,包括:
选取所述目标文本框的左上角作为旋转点,并根据所述目标旋转角度对应的一组旋转参数,控制所述目标文本框以所述旋转点进行旋转,得到所述待旋转OFD文本的所述第一旋转位置。
4.根据权利要求1所述的一种OFD文档的文字旋转定位方法,其特征在于,所述位移参数包括:第一位移参数和第二位移参数;
所述根据所述待旋转OFD文本在所述原始位置处的原始紧贴矩形和所述待旋转OFD文本在所述第一旋转位置处的第一紧贴矩形,计算得到所述目标文本框的位移参数,包括:
根据第一精确位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第一位移参数,或,根据第一估算位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第一位移参数;
根据第二精确位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第二位移参数,或,根据第二估算位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第二位移参数。
5.根据权利要求4所述的一种OFD文档的文字旋转定位方法,其特征在于,所述待旋转OFD文本包括:至少一个目标字符,所述目标旋转角度为:90度、180度或270度;
当所述目标旋转角度为90度时,所述第一精确位移参数计算公式为:e1=ptStart.y-Min(metrics[i].bearingY-metrics[i].height)+ptStart.x+metrics[0].bea ringX;其中,e1为所述目标旋转角度为90度时所对应的第一位移参数,ptStart.y为所述待旋转OFD文本中的第一个字符的字型基点在对象坐标系下的X坐标,ptStart.x为所述待旋转OFD文本中的第一个文字的字型基点在对象坐标系下的Y坐标,metrics[i]表示所述待旋转OFD文本中的第i个字体的规格,bearingY表示Y方向上的文字度量值,bearingX表示X方向上的文字度量值,height表示文字度量高度值,Min(metrics[i].bearingY-metrics[i].height)表示在所述待旋转OFD文本中,每个字符的bearingY-height值中的最小值,metrics[0].bearingX表示所述待旋转OFD文本的第一个字符在X方向上的文字度量值;
当所述目标旋转角度为90度时,所述第二精确位移参数计算公式为:
f1=ptStart.y-Max(metrics[i].bearingY)-ptStart.x-metrics[0].bearingX;其中,f1为所述目标旋转角度为90度时所对应的第二位移参数,Max(metrics[i].bearingY)表示在所述待旋转OFD文本中,所有字符中bearingY的最大值;
当所述目标旋转角度为90度时,所述第一估算位移参数计算公式为:
e1=ptStart.y+ptStart.x+fontSize×α_x[0]×0.1;其中,fontSize为所述待旋转OFD文本的字体大小,α_x[0]表示所述待旋转OFD文本中的第一个字符的α_x值,α_x表示不同字符的宽度与所述待旋转OFD文本中对应字符的fontSize的比值;
当所述目标旋转角度为90度时,所述第二估算位移参数计算公式为:
f1=ptStart.y-ptStart.x-fontSize×(α_y[max]-α_x[0]);其中,α_y[max]表示所述待旋转OFD文本中所有字符的α_y值中的最大值;
当所述目标旋转角度为180度时,所述第一精确位移参数计算公式为:
e2=ptStart.x+Σ△x[i]+metrics[n-1].bearingX+metrics[n-1].width+ptStart.x+metrics[0].bearingX;其中,e2为所述目标旋转角度为180度时所对应的第一位移参数,metrics[0]表示所述待旋转OFD文本的首个字符,metrics[n-1]表示所述待旋转OFD文本的最后一个字符,△x为所述待旋转OFD文本中double型的数值队列,队列中的每个值代表后一个文字与前一个文字之间在X方向的偏移值,Σ△x[i]表示所述数值队列的求和;
当所述目标旋转角度为180度时,所述第二精确位移参数计算公式为:
f2=-Min(metrics[i].horiBearingY-metrics[i].height)+ptStart.y+ptStart.y–Max(metrics[i].horiBearingY);其中,f2为所述目标旋转角度为180度时所对应的第二位移参数,Max(metrics[i].horiBearingY)表示所述待旋转OFD文本中的所有字符的horiBearingY中的最大值;Min(metrics[i].horiBearingY-metrics[i].height)表示所述待旋转OFD文本中的所有字符的horiBearingY–height中的最小值;
当所述目标旋转角度为180度时,所述第一估算位移参数计算公式为:
e2=2×ptStart.x+Σ△x[i]+fontSize×(α_x[last]+α_x[0]);其中,α_y[last]表示所述待旋转OFD文本中的最后一个字符的α_y值;
当所述目标旋转角度为180度时,所述第二估算位移参数计算公式为:
f2=2×ptStart.y-fontSize×α_y[max];其中,α_y[max]表示所述待旋转OFD文本中的所有字符的α_y值的最大值;
当所述目标旋转角度为270度时,所述第一精确位移参数计算公式为:
e3=-(ptStart.y-Max(metrics[i].bearingY)-ptStart.x-metrics[0].bearingX);其中,e3为所述目标旋转角度为270度时所对应的第一位移参数;
当所述目标旋转角度为270度时,所述第二精确位移参数计算公式为:
f3=ptStart.x+metrics[0].bearingX+ptStart.y-Min(metrics[i].bearingY-metrics[i].height);f3为所述目标旋转角度为270度时所对应的第二位移参数;
当所述目标旋转角度为270度时,所述第一估算位移参数计算公式为:
e3=-(ptStart.y–ptStart.x-fontSize×(α_x[max]+α_x[0]));其中,α_x[max]表示所述待旋转OFD文本中的所有字符的α_x值的最大值;
当所述目标旋转角度为270度时,所述第二估算位移参数计算公式为:
f3=ptStart.y+ptStart.x+fontSize×(α_x[0]+1-α_y[max])。
6.一种OFD文档的文字旋转定位系统,其特征在于,包括:获取模块、处理模块、计算模块和运行模块;
所述获取模块用于:获取待旋转OFD文本在原始位置处的目标文本框;
所述处理模块用于:基于目标旋转角度,得到并根据所述目标文本框的旋转参数,对包含所述待旋转OFD文本的所述目标文本框进行旋转,得到所述待旋转OFD文本的第一旋转位置;
所述计算模块用于:根据所述待旋转OFD文本在所述原始位置处的原始紧贴矩形和所述待旋转OFD文本在所述第一旋转位置处的第一紧贴矩形,计算得到所述目标文本框的位移参数;
所述运行模块用于:根据所述位移参数,对包含所述待旋转OFD文本的所述目标文本框进行移动,得到所述待旋转OFD文本的目标旋转位置。
7.根据权利要求6所述的一种OFD文档的文字旋转定位系统,其特征在于,所述目标文本框为:Boundary文本框。
8.根据权利要求6所述的一种OFD文档的文字旋转定位系统,其特征在于,每个目标旋转角度对应一组旋转参数;所述处理模块具体用于:
选取所述目标文本框的左上角作为旋转点,并根据所述目标旋转角度对应的一组旋转参数,控制所述目标文本框以所述旋转点进行旋转,得到所述待旋转OFD文本的所述第一旋转位置。
9.根据权利要求6所述的一种OFD文档的文字旋转定位系统,其特征在于,所述位移参数包括:第一位移参数和第二位移参数;
所述计算模块具体用于:
根据第一精确位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第一位移参数,或,根据第一估算位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第一位移参数;
根据第二精确位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第二位移参数,或,根据第二估算位移参数计算公式、所述原始紧贴矩形和所述第一紧贴矩形,计算得到所述目标文本框的第二位移参数。
10.一种存储介质,其特征在于,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如权利要求1至5中任一项所述的一种OFD文档的文字旋转定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211071914.8A CN115641590A (zh) | 2022-09-02 | 2022-09-02 | 一种ofd文档的文字旋转定位方法、系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211071914.8A CN115641590A (zh) | 2022-09-02 | 2022-09-02 | 一种ofd文档的文字旋转定位方法、系统和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115641590A true CN115641590A (zh) | 2023-01-24 |
Family
ID=84940352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211071914.8A Pending CN115641590A (zh) | 2022-09-02 | 2022-09-02 | 一种ofd文档的文字旋转定位方法、系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115641590A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117521605A (zh) * | 2024-01-04 | 2024-02-06 | 北京点聚信息技术有限公司 | 一种ofd版式文件的电子签章方法及系统 |
-
2022
- 2022-09-02 CN CN202211071914.8A patent/CN115641590A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117521605A (zh) * | 2024-01-04 | 2024-02-06 | 北京点聚信息技术有限公司 | 一种ofd版式文件的电子签章方法及系统 |
CN117521605B (zh) * | 2024-01-04 | 2024-03-15 | 北京点聚信息技术有限公司 | 一种ofd版式文件的电子签章方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10803554B2 (en) | Image processing method and device | |
US20180253852A1 (en) | Method and device for locating image edge in natural background | |
CN108830385B (zh) | 深度学习模型训练方法和装置及计算机可读存储介质 | |
CN115641590A (zh) | 一种ofd文档的文字旋转定位方法、系统和存储介质 | |
Hashemzadeh et al. | Content-aware image resizing: an improved and shadow-preserving seam carving method | |
CN110287854A (zh) | 表格的提取方法、装置、计算机设备和存储介质 | |
CN113379786B (zh) | 图像抠图方法、装置、计算机设备及存储介质 | |
CN110516554A (zh) | 一种多场景多字体中文文字检测识别方法 | |
CN105354571B (zh) | 基于曲线投影的畸变文本图像基线估计方法 | |
US8855428B2 (en) | Computing device and boundary line graph checking method | |
JP6327963B2 (ja) | 文字認識装置及び文字認識方法 | |
WO2008076990A1 (en) | First-point distance parameter system and method for automatic grid generation | |
CN114782530A (zh) | 室内场景下的三维语义地图构建方法、装置、设备及介质 | |
CN110874591A (zh) | 一种图像定位方法、装置、设备及存储介质 | |
CN113221773B (zh) | 基于遥感影像快速构建飞机分类数据集的方法 | |
CN107133964B (zh) | 一种基于Kinect的抠像方法 | |
CN110084821B (zh) | 一种多实例交互式图像分割方法 | |
WO2024159998A1 (zh) | 三维模型的重构方法及装置 | |
CN111178083A (zh) | 一种bim和gis的语义匹配方法及装置 | |
CN113705640B (zh) | 基于遥感影像快速构建飞机检测数据集的方法 | |
CN108597589B (zh) | 模型生成方法、目标检测方法及医学成像系统 | |
CN111862343B (zh) | 一种三维重建方法、装置、设备及计算机可读存储介质 | |
CN105574530B (zh) | 提取文档中的文本行的方法和装置 | |
CN116863477A (zh) | 一种票据图像内容识别方法与系统 | |
CN107609592B (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 |