发明内容
本发明提供一种排版文件处理方法及装置,用以解决现有技术中排版效率低下的技术问题。
本发明提供一种排版文件处理方法,包括:
获取新排版文件对应的图片和旧排版文件对应的图片;
根据所述新排版文件对应的图片和旧排版文件对应的图片的像素值,计算两个排版文件之间的版心偏移量;
根据所述版心偏移量,对所述新排版文件和所述旧排版文件进行校对。
进一步地,根据所述新排版文件对应的图片和旧排版文件对应的图片的像素值,计算两个版本之间的版心偏移量,包括:
分别计算两个排版文件对应的图片的每像素行/列的特征值,其中,像素行/列的特征值为该像素行/列全部像素点的像素值之和;
分别根据不同的初始偏移量,将两个排版文件对应的图片对应起来,计算每行/列特征值差值的绝对值,并确定该初始偏移量下的各行/列特征值差值的总和;
比较各初始偏移量对应的各行/列特征值差值的总和,以最小的差值总和对应的偏移量作为两个排版文件的版心列偏移量/版心行偏移量。
进一步地,根据所述版心偏移量,对所述新排版文件和所述旧排版文件进行校对,包括:
根据所述两个排版文件的图片之间的版心行偏移量和版心列偏移量,将两个图片按照网格划分为多个对应的图像块;
比对两个图片中各个对应的图像块是否一致;
若有两个对应的图像块不一致,则向用户推送提示消息,以提示用户两个排版文件存在不一致的地方。
进一步地,比对两个图片中各个对应的图像块是否一致,包括:
根据离散余弦变换方法,计算每个图像块的像素值的频域特征参数;
依次比较两个图片中各对应的图像块的频域特征参数的差异;
若两个对应的图像块之间的参数差异超过预设值,则确定所述两个对应的图像块不一致。
进一步地,所述方法还包括:
将网格横向、纵向分别平移预设距离,其中,所述预设距离小于一个网格的宽度;
根据平移后的网格,将两个图片重新划分为多个对应的图像块;
重新比对两个图片中各个对应的图像块是否一致。
本发明还提供一种排版文件处理装置,包括:
获取模块,用于获取新排版文件对应的图片和旧排版文件对应的图片;
计算模块,用于根据所述新排版文件对应的图片和旧排版文件对应的图片的像素值,计算两个排版文件之间的版心偏移量;
校对模块,用于根据所述版心偏移量,对所述新排版文件和所述旧排版文件进行校对。
进一步地,所述计算模块具体用于:
分别计算两个排版文件对应的图片的每像素行/列的特征值,其中,像素行/列的特征值为该像素行/列全部像素点的像素值之和;
分别根据不同的初始偏移量,将两个排版文件对应的图片对应起来,计算每行/列特征值差值的绝对值,并确定该初始偏移量下的各行/列特征值差值的总和;
比较各初始偏移量对应的各行/列特征值差值的总和,以最小的差值总和对应的偏移量作为两个排版文件的版心列偏移量/版心行偏移量。
进一步地,所述校对模块具体包括:
划分单元,用于根据所述两个排版文件的图片之间的版心行偏移量和版心列偏移量,将两个图片按照网格划分为多个对应的图像块;
比对单元,用于比对两个图片中各个对应的图像块是否一致;
推送单元,用于在有两个对应的图像块不一致时,向用户推送提示消息,以提示用户两个排版文件存在不一致的地方。
进一步地,所述比对单元具体用于:
根据离散余弦变换方法,计算每个图像块的像素值的频域特征参数;
依次比较两个图片中各对应的图像块的频域特征参数的差异;
若两个对应的图像块之间的参数差异超过预设值,则确定所述两个对应的图像块不一致。
进一步地,所述获取模块还用于:
将网格横向、纵向分别平移预设距离,其中,所述预设距离小于一个网格的宽度;
根据平移后的网格,将两个图片重新划分为多个对应的图像块;
重新比对两个图片中各个对应的图像块是否一致。
本发明提供的排版文件处理方法及装置,通过获取新排版文件对应的图片和旧排版文件对应的图片,根据所述新排版文件对应的图片和旧排版文件对应的图片的像素值,计算两个排版文件之间的版心偏移量,并根据所述版心偏移量,对所述新排版文件和所述旧排版文件进行校对,能够有效消除两版排版文件的偏移,避免文字和图片的微小位移对校对的影响,防止误报,提高了校对准确率和排版效率。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本申请实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
实施例一
本发明实施例一提供一种排版文件处理方法。图1为本发明实施例一提供的排版文件处理方法的流程图。如图1所示,本实施例中的方法,可以包括:
步骤101、获取新排版文件对应的图片和旧排版文件对应的图片。
具体地,所述新排版文件和所述旧排版文件可以是同一文件的两个不同版本的排版文件,完成时间较早的作为所述旧排版文件,完成时间较晚的作为所述新排版文件。例如,在文件校对过程中,需要把新的排版文件和上一个版本的排版文件进行对比,所述上一个版本的排版文件可以作为所述旧排版文件。
排版文件可以是多种格式的,若排版文件本身是图片格式的文件,则可以直接获取图片,若排版文件不是图片格式的文件,则可以将排版文件转化为图片。例如,服务器端可以使用排版文件光栅化软件,用相同的字体设置和光栅化参数生成两个排版文件对应的图片。客户端可以通过网络或其他方式获取两个排版文件的尺寸信息以及对应的图片。
步骤102、根据所述新排版文件对应的图片和旧排版文件对应的图片的像素值,计算两个排版文件之间的版心偏移量。
所述版心偏移量可以包括版心行偏移量和版心列偏移量,分别用于表征其中一个排版文件相对于另一个排版文件的行偏移和列偏移。
本步骤中,根据所述新排版文件对应的图片和旧排版文件对应的图片的像素值,计算两个版本之间的版心偏移量,可以包括:
分别计算两个排版文件对应的图片的每像素行/列的特征值,其中,像素行/列的特征值为该像素行/列全部像素点的像素值之和;分别根据不同的初始偏移量,将两个排版文件对应的图片对应起来,计算每行/列特征值差值的绝对值,并确定该初始偏移量下的各行/列特征值差值的总和;比较各初始偏移量对应的各行/列特征值差值的总和,以最小的差值总和对应的偏移量作为两个排版文件的版心列偏移量/版心行偏移量。
具体地,可以首先计算两个排版文件对应的图片的每像素行的特征值,即像素行全部像素点的像素值之和。
然后,可以设定初始偏移量为0,将两个排版文件对应的图片对应起来,即把两个图片的每个像素行对应起来,计算每行特征值差值的绝对值,并确定各行特征值差值的总和。例如,两个图片都包括100×100个像素点,即包括100像素行,每行包括100个像素点,则计算其中一个图片第一行的特征值与另一个图片的第一行的特征值之间的差值的绝对值,计算完第一行的差值绝对值后,再计算两个图片第二行的特征值之间的差值的绝对值,然后依次计算第三行、第四行、……、直至第100行。最后将这100个的绝对值差值相加,得到0初始偏移量下的特征值差值的总和。
初始偏移量逐次加1或减1,再按照上述方法计算每个初始偏移量对应的特征值差值的总和。例如,初始偏移量为1时,将两个排版文件对应的图片对应起来,即按照这个初始偏移量把两个图片的每个像素行对应起来,第一个图片的第一行对应第二个图片的第二行,第一个图片的第二行对应第二个图片的第三行,……,第一个图片的第99行对应第二个图片的第100行,然后,计算各个对应行的特征值的差值的绝对值并求和。
初始偏移量的取值可以根据实际版面大小来确定。例如,所述初始偏移量可以在-50到50之间。所述初始偏移量为正数,说明新排版文件可以相对于旧排版文件向下偏移;所述初始偏移量为负数,说明新排版文件可以相对于旧排版文件向上偏移。
最后,可以比较各初始偏移量对应的各行特征值差值的总和,以最小的差值总和对应的初始偏移量作为两个排版文件的版心列偏移量。例如,初始偏移量从-50到50之间取值,获得101个对应的差值总和,其中初始偏移值为10时,各行特征值差值的总和最小,说明两个排版文件的版心列偏移量为10,也就是说,两个排版文件之间纵向偏移了10个像素点,将其中一个文件向上或向下平移10个像素点后,行重合度最高。
计算完版心列偏移量后,可以按照上述方法计算版心行偏移量,即:计算两个排版文件对应的图片的每像素列的特征值;分别根据不同的初始偏移量,将两个排版文件对应的图片对应起来,计算每列特征值差值的绝对值,并确定该初始偏移量下的各列特征值差值的总和;比较各初始偏移量对应的各列特征值差值的总和,以最小的差值总和对应的偏移量作为两个排版文件的版心行偏移量。
步骤103、根据所述版心偏移量,对所述新排版文件和所述旧排版文件进行校对。
确定了版心偏移量之后,可以将所述新排版文件对应的图片相对于所述旧排版文件对应的图片移动该版心偏移量,这样,两个排版文件的图片最大限度地重合,再根据两个图片的像素值进行校对。
例如,所述版心偏移量为(15,10),即版心行偏移量为15像素,版心列偏移量为10像素,则可以将所述新排版文件的图片在水平方向移动15个像素点,在竖直方向移动10个像素点,使得新排版文件的图片与旧排版文件的图片的版心重合,再根据像素值确定两个图片是否有差异。
本实施例提供的排版文件处理方法,通过获取新排版文件对应的图片和旧排版文件对应的图片,根据所述新排版文件对应的图片和旧排版文件对应的图片的像素值,计算两个排版文件之间的版心偏移量,并根据所述版心偏移量,对所述新排版文件和所述旧排版文件进行校对,能够有效消除两版排版文件的偏移,避免文字和图片的微小位移对校对的影响,防止误报,提高了校对准确率和排版效率。
实施例二
本发明实施例二提供一种排版文件处理方法。图2为本发明实施例二提供的排版文件处理方法的流程图。如图2所示,本实施例中的方法,可以包括:
步骤201、获取新排版文件对应的图片和旧排版文件对应的图片。
步骤202、根据所述新排版文件对应的图片和旧排版文件对应的图片的像素值,计算两个排版文件之间的版心偏移量。
本实施例中,步骤201至步骤202与实施例一中的步骤101至步骤102类似,此处不再赘述。
步骤203、根据所述两个排版文件的图片之间的版心行偏移量和版心列偏移量,将两个图片按照网格划分为多个对应的图像块。
步骤204、比对两个图片中各个对应的图像块是否一致。
步骤205、若有两个对应的图像块不一致,则向用户推送提示消息,以提示用户两个排版文件存在不一致的地方。
本实施例中,通过步骤203至步骤205来实现根据版心偏移量对所述新排版文件和所述旧排版文件进行校对。
具体地,可以根据所述两个排版文件的图片之间的版心行偏移量和版心列偏移量,将两个图片按照网格划分为多个对应的图像块。
网格尺寸参数可以事先确定,假设网格尺寸为n×n,旧排版文件的图片相对于新排版文件的图片行偏移a个像素点,列偏移b个像素点,则图像块可以按照如下方式划分:
新排版文件(1,1,n,n)对应旧排版文件(1+b,1+a,n+b,n+a);
新排版文件(n+1,n+1,2n,2n)对应旧排版文件(n+1+b,n+1+a,2n+b,2n+a),以此类推。
其中,括号中的四个数字,分别表示网格的起始行、起始列、结束行以及结束列,(1,1,n,n)表示第一像素行与第n像素行之间、第一像素列与第n像素列之间的像素点组成的图像块。
由此可知,在新旧两版排版文件的图片中,对应的图像块之间,起始行相差b,起始列相差a。
假设网格的尺寸为20×20,旧排版文件的图片相对于新排版文件的图片行偏移15个像素点,列偏移10个像素点,则网格可以按照如下方式划分:
新排版文件(1,1,20,20)对应旧排版文件(11,16,30,35);
新排版文件(21,1,40,20)对应旧排版文件(31,16,50,35);
......
在划分图像块后,可以对各个对应的图像块进行比对,确定两个图片中各个对应的图像块是否一致。具体地,可以通过图像块中的像素值确定两个对应的图像块是否一致。
优选的是,比对两个图片中各个对应的图像块是否一致,可以包括:根据离散余弦变换方法,计算每个图像块的像素值的频域特征参数;依次比较两个图片中各对应的图像块的频域特征参数的差异;若两个对应的图像块之间的参数差异超过预设值,则确定所述两个对应的图像块不一致。
具体地,使用二维离散余弦变换方法,计算每个图像块的频域特征参数。以8x8的网格分割图片为例,每个图像块的大小为8x8,即每行8个像素点,每列也是8个像素点,假设其中一个图像块中8x8个像素点对应的像素值为:
-128,15,15,15,15,15,127,127;
127,127,127,127,127,127,127,127;
127,127,127,127,127,127,127,127;
127,127,127,127,127,127,127,127;
127,127,127,127,127,127,127,127;
127,127,127,127,127,127,127,127;
127,127,127,127,127,127,127,127;
127,127,127,127,127,127,127,127。
经过二维离散余弦变换,对应的频域特征参数为:
914,-60,2,-33,-17,-5,-20,2;
-141,-84,3,-46,-24,-7,-28,3;
-133,-79,3,-43,-23,-7,-26,2;
-119,-71,2,-39,-21,-6,-23,2;
-101,-60,2,-33,-17,-5,-20,2;
-80,-47,1,-26,-14,-4,-16,1;
-55,-32,1,-18,-9,-3,-11,1;
-28,-16,0,-9,-4,-1,-5,0。
其中左上角的数值(914)称为直流分量,对应于图像块像素的平均值,其余数值称为交流分量。
对上述频域特征参数再做量化处理,方法是每个分量乘以一个量化矩阵中的对应系数。
量化矩阵可以为:
1.0,0.6464466,0.5,0.38762757,0.29289323,0.0,0.0,0.0;
0.6464466,0.5,0.38762757,0.29289323,0.20943059,0.0,0.0,0.0;
0.5,0.38762757,0.29289323,0.20943059,0.1339746,0.0,0.0,0.0;
0.38762757,0.29289323,0.20943059,0.1339746,0.064585656,0.0,0.0,0.0;
0.29289323,0.20943059,0.1339746,0.064585656,0.0,0.0,0.0,0.0;
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0;
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0;
0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0。
量化矩阵的作用是:使越靠近左上角的直流分量和低频率交流分量,最后保留的比例越大,越靠近右下角的高频分量保留的比例越小。
将经过二维离散余弦变换得到的频域特征参数与量化矩阵中的系数对应相乘后,得到最终的图像块特征数据:
914,-39,1,-13,-5,0,0,0;
-91,-42,1,-13,-5,0,0,0;
-66,-30,0,-9,-3,0,0,0;
-46,-20,0,-5,-1,0,0,0;
-29,-12,0,-2,0,0,0,0;
0,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,0;
0,0,0,0,0,0,0,0。
在确定图像块的特征数据后,可以将新旧两版排版文件中对应的图像块进行比对。例如,新排版文件的图像块(1,1,n,n)与旧排版文件的图像块(1+b,1+a,n+b,n+a)进行比对。其中,n按照上述假设可以为8,a和b分别为版心行偏移量和版心列偏移量。
两个对应的图像块进行比对时,可以首先比较左上角直流分量的差值,如果差值的绝对值超过预先设定的直流分量阈值,则可以认为两个图像块不一致。然后计算其余交流分量的绝对值的总和,如果这个总和超过一个预先设定的交流分量阈值,也认为两个图像块不一致。
若有两个对应的图像块不一致,则可以向用户推送提示消息,以提示用户两个排版文件存在不一致的地方。
具体地,两个排版文件的各个对应图像块依次按照以上步骤计算特征数据并比较,把不一致的图像块标识和记录下来,可以用醒目的颜色标出,显示给用户。
进一步地,本实施例中的方法还可以包括:将网格横向、纵向分别平移预设距离,其中,所述预设距离小于一个网格的宽度;根据平移后的网格,将两个图片重新划分为多个对应的图像块;重新比对两个图片中各个对应的图像块是否一致。
两个排版文件的图片中,比较小的差异部分,按照以上步骤计算,可能会被漏掉,因为同一处差异(比如新排版文件相对于旧排版文件多了一个小的圆点),可能会被分割到相邻的2个或4个图像块中,导致差异过小,检查的时候被漏掉。为了减少这种情况导致的漏报,可以把分隔图片用的网格横向、纵向平移1/2个网格宽度,再重复以上计算和比较步骤,这样原来被分割到相邻网格中的差异处在新的网格划分方式下会回到网格中心,从而容易被检测出来,减少漏报。
本实施例提供的排版文件处理方法,将图片分割成多个对应的图像块进行比对,并且对各个图像块采用离散余弦变换方法,计算对应的频域特征参数,通过频率特征参数的比对来确定两个版本的对应图像块是否一致,有效提高了处理效率和准确性。
实施例三
本发明实施例三提供一种排版文件处理装置。图3为本发明实施例三提供的排版文件处理装置的结构框图。如图3所示,本实施例中的装置,可以包括:
获取模块301,用于获取新排版文件对应的图片和旧排版文件对应的图片;
计算模块302,用于根据所述新排版文件对应的图片和旧排版文件对应的图片的像素值,计算两个排版文件之间的版心偏移量;
校对模块303,用于根据所述版心偏移量,对所述新排版文件和所述旧排版文件进行校对。
本实施例提供的排版文件处理装置,可以用于执行实施例一所述的排版文件处理方法,其具体实现原理可参照实施例一,此处不再赘述。
本实施例提供的排版文件处理装置,通过获取新排版文件对应的图片和旧排版文件对应的图片,根据所述新排版文件对应的图片和旧排版文件对应的图片的像素值,计算两个排版文件之间的版心偏移量,并根据所述版心偏移量,对所述新排版文件和所述旧排版文件进行校对,能够有效消除两版排版文件的偏移,避免文字和图片的微小位移对校对的影响,防止误报,提高了校对准确率和排版效率。
进一步地,所述计算模块302具体用于:
分别计算两个排版文件对应的图片的每像素行/列的特征值,其中,像素行/列的特征值为该像素行/列全部像素点的像素值之和;
分别根据不同的初始偏移量,将两个排版文件对应的图片对应起来,计算每行/列特征值差值的绝对值,并确定该初始偏移量下的各行/列特征值差值的总和;
比较各初始偏移量对应的各行/列特征值差值的总和,以最小的差值总和对应的偏移量作为两个排版文件的版心列偏移量/版心行偏移量。
进一步地,所述校对模块303具体包括:
划分单元,用于根据所述两个排版文件的图片之间的版心行偏移量和版心列偏移量,将两个图片按照网格划分为多个对应的图像块;
比对单元,用于比对两个图片中各个对应的图像块是否一致;
推送单元,用于在有两个对应的图像块不一致时,向用户推送提示消息,以提示用户两个排版文件存在不一致的地方。
进一步地,所述比对单元具体用于:
根据离散余弦变换方法,计算每个图像块的像素值的频域特征参数;
依次比较两个图片中各对应的图像块的频域特征参数的差异;
若两个对应的图像块之间的参数差异超过预设值,则确定所述两个对应的图像块不一致。
进一步地,所述校对模块303还用于:
将网格横向、纵向分别平移预设距离,其中,所述预设距离小于一个网格的宽度;
根据平移后的网格,将两个图片重新划分为多个对应的图像块;
重新比对两个图片中各个对应的图像块是否一致。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。