一种反解版式文件后得到的图片和图说的自动关联方法 【技术领域】
本发明属于信息处理技术领域,具体涉及一种反解版式文件后得到的图片和图说的自动关联方法。
背景技术
中国专利申请(申请号:200710179938.4;公开日期:2008.06.25)公开了“一种基于PDF的复杂版面的标引方法”,该方法能够从版式文件中提取到文字块的集合。文字块中包含了相应的文字内容,字号大小,字体名称以及该文字块的区域位置信息,并通过区域位置计算得到文字信息的排版类型。文字信息的排版类型一般有以下几种:从左到右的竖排、从右到左的竖排、竖排无方向、从左到右的横排、从右到左的横排等。根据文字块的字号大小标定文字块的属性为标题或正文,以及文字块的序号等。然而,该方法没有获取图片块,以及图片块与对应的图片文字说明(即图说)之间的关联关系,需要人工进行关联操作,工作量大,效率低。
中国专利申请(申请号:200610112710.9;公开日期:2007.02.14)公开了“一种提取见报资料数据信息的方法”,该方法能够根据版式文件的版面信息结构来提取版式文件中的数据,并通过版式文件的版面信息和稿件区域信息自动提取出稿件间的关联关系。这种方法的缺点是:版式文件必须存储稿件内部之间的关联关系,如果版式文件没有存储稿件内部之间的关联关系,则这种方法就失去了效用。
【发明内容】
针对现有技术中存在的缺陷,本发明的目的是提供一种反解版式文件后得到的图片和图说的自动关联方法,该方法能够实现将反解任何版式文件后获得的图片与该图片的图说自动关联起来,减少人工操作工作量,提高效率。
为了实现上述目的,本发明采用的技术方案为:一种反解版式文件后得到的图片和图说的自动关联方法,包括以下步骤:
(1)从反解版式文件后得到的文字块集合{S}中取出一个未被取出过的属性为正文的文字块;
(2)在反解版式文件后得到的图片块集合{P}中查找与步骤(1)中取出的文字块近邻的图片块,如果没有一个图片块与该文字块近邻,则转至步骤(3),如果仅有一个图片块与该文字块近邻,则将此文字块作为该图片块的候选图说,如果有两个或两个以上的图片块与该文字块近邻,则筛选出位置最好的图片块,将此文字块作为该图片块的候选图说;
(3)重复以上步骤,直到文字块集合{S}中的所有文字块被取出一次;
(4)确定图片块集合{P}中每一个图片块的图说;如果一个图片块的候选图说仅有一个,则将该候选图说作为该图片块的图说;如果一个图片块的候选图说为多个,则筛选出最合适的候选图说作为该图片块的图说。
如上所述的一种反解版式文件后得到的图片和图说的自动关联方法,步骤(2)中在图片块集合{P}中查找与文字块近邻的图片块的方法为:判断图片块与文字块是否在水平方向上或者在竖直方向上近邻,如果在水平方向上或者在竖直方向上近邻,则图片块与文字块近邻。
如上所述的一种反解版式文件后得到的图片和图说的自动关联方法,其中,所述的判断图片块与文字块是否在水平方向上或者在竖直方向上近邻的方法包括以下步骤:
假设文字块左上角点坐标为(X
1,Y
1)、右下角点坐标为(X
1′,Y
1′),图片块左上角点坐标为(X
2,Y
2),右下角点坐标为(X
2′,Y
2′);文字块的宽度W=X
1′‑X
1,图片块的宽度W′=X
2′‑X
2;文字块的高度H=Y
1′‑Y
1,图片块的高度H′=Y
2′‑Y
2;所有文字块的字号的平均值为AvgFontSize;图说与图片块之间的有效距离DistThreshold=C
1*AvgFontSize,其中C
1为文字块与图片块之间的间距系数,1<C
1<5;下述min函数表示取两者的较小值,max函数表示取两者的较大值,D为延伸距离,0≤D≤10,单位为磅;
①计算图片块与文字块的重叠度:
在水平方向上的重叠度OverlapX的计算公示为
OverlapX=(min(X
1′,X
2′)‑max(X
1,X
2))/(max(X
1′,X
2′)‑min(X
1,X
2)),
在竖直方向上的重叠度OverlapY的计算公示为
OverlapY=(min(Y
1′,Y
2′)‑max(Y
1,Y
2))/(max(Y
1′,Y
2′)‑min(Y
1,Y
2));
②判断Y
1≥Y
2‑D且Y
1′≤Y
2′+D且X
1≥X
2‑D且X
1′≤X
2′+D是否成立;如果成立,则继续判断OverlapY是否大于OverlapX,若大于,则图片块与文字块在水平方向上近邻,否则图片块与文字块在竖直方向上近邻;如果不成立,则计算图片块与文字块在水平方向上的重叠距离DistX,DistX=max(X
1,X
2)‑min(X
1′,X
2′);
③判断Y
1≥Y
2‑D且Y
1′≤Y
2′+D且W<W′且DistX<DistThreshold是否成立,如果成立,则图片块与文字块在水平方向上近邻;否则计算图片块与文字块的最大距离DistXMax,如果X
1<X
2,则DistXMax=X
2‑X
1,否则DistXMax=|X
2′‑X
1′|;
④判断Y
1≥Y
2‑D且Y
1′≤Y
2′+D且W<W′且DistXMax<W′/2是否成立,如果成立,则图片块与文字块在水平方向上近邻;否则,计算DistY,DistY=max(Y
1,Y
2)‑min(Y
1′,Y
2′);
⑤判断X
1≥X
2‑D且X
1′≤X
2′+D且H<H′且文字块的排版类型为从左到右的横排或者从右到左的横排且DistY<DistThreshold是否成立,如果成立,则图片块与文字块在竖直方向上近邻,否则图片块与文字块即不在水平方向上也不在竖直方向上近邻。
如上所述的一种反解版式文件后得到的图片和图说的自动关联方法,其中,所述的C
1的值为1.2,所述的D的值为3。
如上所述的一种反解版式文件后得到的图片和图说的自动关联方法,步骤(2)中所述的筛选出位置最好的图片块的方法包括以下步骤:
假设步骤(1)中取出的文字块为T,与T临近的图片块集合为{TP},位置最好的图片块为PZ;
①分别计算出{TP}中所有的图片块的图说类型PicType,以及T和{TP}中所有的图片块之间的距离Dist;所述的图片块的图说类型是指文字块相对于图片块的位置,包括文字块在图片块的上侧、文字块在图片块的左侧、文字块在图片块的右侧和文字块在图片块的下侧;
②从{TP}中任意取出一个图片块P,并将取出的图片块从{TP}中删除;另PZ=P;
③从{TP}中任意取出一个图片块PN,将PN从{TP}中删除;从PZ和PN中筛选出一个位置较好的图片块,如果PN位置较好,则另PZ=PN;
从PZ和PN中筛选出一个位置较好的图片块的方法为:假设PZ的图说类型为PicTypeZ,PN的图说类型为PicTypeN,T与PZ之间的距离为DistZ,T与PN之间的距离为DistN;
如果满足下列条件之一,则PN比PZ位置好:
条件a.PicTypeN与PicTypeZ相同且DistN<DistZ,
条件b.PicTypeN为文字块在图片块的右侧且PicTypeZ为文字块在图片块的左侧且DistN<DistZ,
条件c.PicTypeN的优先级高于PicTypeZ且PicTypeN为文字块在图片块的右侧与PicTypeZ为文字块在图片块的左侧两者不同时成立;其中,文字块在图片块的下侧的优先级高于文字块在图片块的左侧和右侧,文字块在图片块的左侧或右侧的优先级高于文字块在图片块的上侧;
④判断{TP}是否为空,如果为空,则PZ即为位置最好的图片块;否则,转至步骤③。
如上所述的一种反解版式文件后得到的图片和图说的自动关联方法,步骤①中计算图片块的图说类型以及文字块与图片块之间的距离的方法包括以下步骤:
如果文字块与图片块在水平方向上近邻:
a.计算文字块中心的横坐标CenterT=(X
1+X
1′)/2;计算图片块中心的横坐标CenterPic=(X
2+X
2′)/2;
b.判断CenterT<CenterPic是否成立,如果成立,则PicType为文字块在图片块的左侧,文字块与图片块的距离Dist=X
2‑CenterT;如果不成立,则PicType为文字块在图片块的右侧,文字块与图片块距离Dist=CenterT‑X
2′;
如果文字块与图片块在竖直方向上近邻:
a.计算文字块中心的纵坐标CenterT=(Y
1+Y
1′)/2;计算图片块中心的纵坐标CenterPic=(Y
2+Y
2′)/2;
b.判断CenterT<CenterPic是否成立,如果成立,则PicType为文字块在图片块的上侧,文字块与图片块的距离Dist=Y
2‑CenterT;如果不成立,则PicType为文字块在图片块的下侧,文字块与图片块距离Dist=CenterT‑Y
2′。
如上所述的一种反解版式文件后得到的图片和图说的自动关联方法,步骤(4)中当一个图片块的候选图说为多个时,筛选出最合适的候选图说作为该图片块的图说的方法包括以下步骤:
假设一个图片块的候选图说集合为{L};
①将{L}中图说类型相同的文字块合并成为一个文字块,合并后的文字块的重叠度为被合并的文字块与图片块的重叠度之和,权重为被合并的文字块的个数;
②从合并后的{L}中挑选出权重值最大的文字块作为图片块的图说,如果权重值最大的文字块为多个,则比较权重值最大的多个文字块与图片块的重叠度,将与图片块重叠度最大的文字块作为图片块的图说。
本发明所述的方法,通过对反解版式文件后得到的文字块与图片块之间位置关系等的计算,无需了解版式文件的版面信息结构便能够自动在图片与该图片的图说之间建立关联,减少了人工进行确认和关联操作的工作量,提高了效率。
【附图说明】
图1是本发明所述的方法流程图;
图2是具体实施方式中文字块与图片块位置关系示意图;
图3是具体实施方式中当文字块有两个或两个以上的图片块与其近邻时筛选出位置最好的图片块的流程图。
【具体实施方式】
下面结合具体实施方式和附图对本发明进行详细描述。
本发明所述的图说是指对图片块进行说明的一个或多个文字块。图说具有不同的类型,包括图说在图片块的上侧、图说在图片块的左侧、图说在图片块的右侧和图说在图片块的下侧。图说的类型是根据文字块与图片块中心点之间的位置关系确定的,即图说在图片块的上侧是指位于图片块中心点的上侧,图说在图片块的左侧是指位于图片块中心点的左侧,图说在图片块的右侧是指位于图片块中心点的右侧,图说在图片块的下侧是指位于图片块中心点的下侧,包括图说在图片块内的情形。如图2中文字块1和文字块2在图片块的上侧,文字块3和文字块4在图片块的下侧,文字块5、文字块6和文字块7在图片块的左侧,文字块8和文字块9在图片块的右侧。
图1出示本发明所述的反解版式文件后得到的图片和图说的自动关联方法的流程,包括以下步骤。
假设从反解版式文件后,得到的文字块结合为{S},图片块集合为{P}。
(1)从文字块集合{S}中取出一个未被取出过的属性为正文的文字块。
(2)在反解版式文件后得到的图片块集合{P}中查找与步骤(1)中取出的文字块近邻的图片块。如果没有一个图片块与该文字块近邻,则转至步骤(3)。如果仅有一个图片块与该文字块近邻,则将此文字块作为该图片块的候选图说。如果有两个或两个以上的图片块与该文字块近邻,则筛选出位置最好的图片块,将此文字块作为该图片块的候选图说。
在图片块集合{P}中查找与文字块近邻的图片块的方法为:判断图片块与文字块是否在水平方向上或者在竖直方向上近邻,如果在水平方向上或者在竖直方向上近邻,则图片块与文字块近邻。如图2中,文字块1、文字块2、文字块3和文字块4与图片块在竖直方向上近邻,文字块5、文字块6、文字块7、文字块8和文字块9在水平方向上近邻,判断的方法如下所述。
假设文字块左上角点坐标为(X
1,Y
1)、右下角点坐标为(X
1′,Y
1′),图片块左上角点坐标为(X
2,Y
2),右下角点坐标为(X
2′,Y
2′)。文字块的宽度W=X
1′‑X
1,图片块的宽度W′=X
2′‑X
2。文字块的高度H=Y
1′‑Y
1,图片块的高度H′=Y
2′‑Y
2。所有文字块的字号的平均值为AvgFontSize。图说与图片块之间的有效距离DistThreshold=C
1*AvgFontSize,其中C
1为文字块与图片块之间的间距系数,1<C
1<5,本实施方式中C
1=1.2。下述min函数表示取两者的较小值,max函数表示取两者的较大值。下述D为延伸距离,即文字块超出图片块宽度或高度所允许的距离,0≤D≤10,单位为磅。本实施方式中,D取值为3,D的值可以在取值范围内进行调整。
判断图片块与文字块是否在水平方向上或者在竖直方向上近邻的方法包括以下步骤。
①计算图片块与文字块的重叠度:
在水平方向上的重叠度OverlapX的计算公示为
OverlapX=(min(X
1′,X
2′)‑max(X
1,X
2))/(max(X
1′,X
2′)‑min(X
1,X
2));
在竖直方向上的重叠度OverlapY的计算公示为
OverlapY=(min(Y
1′,Y
2′)‑max(Y
1,Y
2))/(max(Y
1′,Y
2′)‑min(Y
1,Y
2))。
②判断Y
1≥Y
2‑D且Y
1′≤Y
2′+D且X
1≥X
2‑D且X
1′≤X
2′+D是否成立;如果成立,则继续判断OverlapY是否大于OverlapX,若大于,则图片块与文字块在水平方向上近邻,否则图片块与文字块在竖直方向上近邻;如果不成立,则计算图片块与文字块在水平方向上的重叠距离DistX,DistX=max(X
1,X
2)‑min(X
1′,X
2′)。
③判断Y
1≥Y
2‑D且Y
1′≤Y
2′+D且W<W′且DistX<DistThreshold是否成立,如果成立,则图片块与文字块在水平方向上近邻;否则计算图片块与文字块的最大距离DistXMax,如果X
1<X
2,则DistXMax=X
2‑X
1,否则DistXMax=|X
2′‑X
1′|;
④判断Y
1≥Y
2‑D且Y
1′≤Y
2′+D且W<W′且DistXMax<W′/2是否成立,如果成立,则图片块与文字块在水平方向上近邻;否则,计算DistY,DistY=max(Y
1,Y
2)‑min(Y
1′,Y
2′);
⑤判断X
1≥X
2‑D且X
1′≤X
2′+D且H<H′且文字块的排版类型为从左到右的横排或者从右到左的横排且DistY<DistThreshold是否成立,如果成立,则图片块与文字块在竖直方向上近邻,否则图片块与文字块即不在水平方向上也不在竖直方向上近邻。
图3出示了当文字块有两个或两个以上的图片块与该文字块近邻时,筛选出位置最好的图片块的流程,包括以下步骤。假设步骤(1)中取出的文字块为T,与T临近的图片块集合为{TP},位置最好的图片块为PZ。
①分别计算出{TP}中所有的图片块的图说类型PicType,以及T和{TP}中所有的图片块之间的距离Dist。
如果文字块与图片块在水平方向上近邻:
a.计算文字块中心的横坐标CenterT=(X
1+X
1′)/2;计算图片块中心的横坐标CenterPic=(X
2+X
2′)/2;
b.判断CenterT<CenterPic是否成立,如果成立,则PicType为文字块在图片块的左侧,文字块与图片块的距离Dist=X
2‑CenterT;如果不成立,则PicType为文字块在图片块的右侧,文字块与图片块距离Dist=CenterT‑X
2′。
如果文字块与图片块在竖直方向上近邻:
a.计算文字块中心的纵坐标CenterT=(Y
1+Y
1′)/2,计算图片块中心的纵坐标CenterPic=(Y
2+Y
2′)/2;
b.判断CenterT<CenterPic是否成立;如果成立,则PicType为文字块在图片块的上侧,文字块与图片块的距离Dist=Y
2‑CenterT;如果不成立,则PicType为文字块在图片块的下侧,文字块与图片块距离Dist=CenterT‑Y
2′。
②从{TP}中任意取出一个图片块P,并将取出的图片块从{TP}中删除;另PZ=P。
③从{TP}中任意取出一个图片块PN,将PN从{TP}中删除;从PZ和PN中筛选出一个位置较好的图片块,如果PN位置较好,则另PZ=PN。
从PZ和PN中筛选出一个位置较好的图片块的方法为:假设PZ的图说类型为PicTypeZ,PN的图说类型为PicTypeN,T与PZ之间的距离为DistZ,T与PN之间的距离为DistN;
如果满足下列条件之一,则PN比PZ位置好:
条件a.PicTypeN与PicTypeZ相同且DistN<DistZ;
条件b.PicTypeN为文字块在图片块的右侧且PicTypeZ为文字块在图片块的左侧且DistN<DistZ;
条件c.PicTypeN的优先级高于PicTypeZ且PicTypeN为文字块在图片块的右侧与PicTypeZ为文字块在图片块的左侧两者不同时成立;其中,文字块在图片块的下侧的优先级高于文字块在图片块的左侧和右侧,文字块在图片块的左侧或右侧的优先级高于文字块在图片块的上侧。
④判断{TP}是否为空,如果为空,则PZ即为位置最好的图片块;否则,转至步骤③。
(3)重复步骤(1)和步骤(2),直到文字块集合{S}中的所有文字块被取出一次。
(4)确定图片块集合{P}中每一个图片块的图说。如果一个图片块的候选图说仅有一个,则将该候选图说作为该图片块的图说。如果一个图片块的候选图说为多个,则筛选出最合适的候选图说作为该图片块的图说,并将该图片块的其他候选图说重新添加到文字块集合{S}中。
当图片块的候选图说为多个时,筛选出最合适的候选图说的方法包括以下步骤,假设一个图片块的候选图说集合为{L}。
①将{L}中图说类型相同的文字块合并成为一个文字块,合并后的文字块与图片块的重叠度为被合并的文字块与图片块的重叠度之和,权重为被合并的文字块的个数。如图2中,将文字块1与文字块2合并成一个文字块,合并后文字块与图片块的重叠度为文字块1与图片块的重叠度和文字块2与图片块的重叠度之和,合并后文字块的权重为2;将文字块3和文字块4合并成一个文字块,重叠度为文字块3、文字块4与图片块重叠度之和,权重为2;将文字块5、文字块6和文字块7合并为一个文字块,重叠度为文字块5、文字块6、文字块7与图片块重叠度之和,权重为3;将文字块8和文字块9合并为一个文字块,重叠度为文字块8、文字块9与图片块重叠度之和,权重为2。
②从合并后的{L}中挑选出权重值最大的文字块作为图片块的图说,如果权重值最大的文字块为多个,则比较权重值最大的多个文字块与图片块的重叠度,将与图片块重叠度最大的文字块作为图片块的图说。如图2中,由文字块5、文字块6和文字块7合并的文字块权重值最大,将其作为图片块的图说。
本发明所述的方法并不限于上述具体实施方式,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。