一种基于标点符号的文档上下方向检测方法技术领域
本发明涉及一种文档方向检测方法,尤其是涉及一种基于标点符号的文档上
下方向检测方法。
背景技术
在广泛使用的光学字符识别系统(OCR)中,文档图像方向的检测是图像处
理的第一步,也是所有后续处理的先决条件。有效地检测出这些扫描文件的方向将
大大有助于后续的图像处理。在许多嵌入式系统中,如扫描仪和传真机,文本文件
图像的方向检测是必要的,而且,检测要求快速。因此,轻量级的方向检测方法在
文本文档的图像处理中具有重要意义。
目前已有一些方法来检测文本图像方向。在1990年,Akiyama et al.提出最早
的算法,能够辨别肖像和风景图像的方向。最有影响力的算法,由S.N.srihari和
V.Govindaraju提出。该算法基于Hough变换和观察,根据非对称英文文本行的垂
直投影来实现文本图像的方向检测。这种方法是许多后来的变形算法的基础。虽然
这些算法基本只适用于罗马文字,后来也有很多针对其他不同文字的其他研究,比
如普什图语,印地文,和阿拉伯文。另外,还有一些较新的算法,基于开放的罗马
文字或一些不对称的非罗马文字,比如:不对称的如普什图语和希伯来语文本。通
过统计文字符号在某左右方向上开发的不同来确定文档的上下方向。
以上提到的这些算法大多是基于对每个语言文字的细节特征,所以都只针对一
个特定种类的语言文本图像,而且,需要大量的计算或者需要一个大的数据集的特
征提取。
文档中存在各种标点符号,如:引号,句号,分号,惊叹号,问号,顿号。对
于一般办公文档存在这样一个基础事实:即在每个文档中,大部分的标点符号要么
接近于文本行顶部要么接近于底部。例如,引号是接近文本行的顶部,而句号是接
近于文本行的底部。同时标点符号具有以下两个特点:
1.除了文档中出现频率很低的一些标点符号是与文本行高度相同之外,比如
问号和惊叹号等,大部分的标点符号的高度都远远小于文本行的高度。
2.所有高度很小的标点符号大部分是位于该文本行的底部。而在普通的办公
文档中,位于顶部和底部的两种标点符号的出现频率相差很大。
因此,可以基于上述特点对文本图像方向的检测方法进行研究。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种检测准确率
高、适用范围广的基于标点符号的文档上下方向检测方法。
本发明的目的可以通过以下技术方案来实现:
一种基于标点符号的文档上下方向检测方法,用于对办公文档扫描图像进行方
向检测,该方法包括以下步骤:
1)获取文档扫描图像,采用边缘密度算法检测并去除图像中的边缘噪音;
2)采用基于投影的页面分割算法对图像进行页面分割,获得若干图像块;
3)对每一个图像块,判断其是否为文本块,若是,则将其保留,若否,则将
其剔除;
4)采用XY切割算法提取每个文本块中的连通体;
5)根据连通体的高度和宽度,判断该连通体是否为标点符号,若是,则执行
步骤6),若否,则返回步骤5);
6)分别统计接近于顶部的标点符号的出现次数Lt和接近于底部的标点符号的
出现次数Lb,根据R=Lt/Lb与设定值的大小关系,检测文档扫描图像的方向。
所述的步骤2)中的基于投影的页面分割算法为XY切割算法。
所述的步骤3)中的判断其是否为文本块的具体步骤为:
31)将图像块进行水平投影,获得投影图像;
32)若投影图像呈现具有一定间隔的山峰状,则判断与其对应的图像块为文本
块。
所述的步骤4)具体如下:
41)首先通过水平投影后,取得该文字块的每一行,并将每一个行保存到一个
字符串数组,同时,计算并保存该行的平均行高到另一数组;
42)将字符串数组垂直投影,分离和提取出该行每个连通体,也即该行所有的
字符和标点符号。
所述的步骤5)中的根据连通体的高度和宽度判断该连通体是否为标点符号的
具体步骤如下:
51)计算每个连通体的宽度和高度,并计算平均宽度和平均高度;
52)将每一个连通体的宽度与平均宽度相比,如果小于平均宽度,则将其定义
为标点符号;
53)将每一个连通体的高度与平均高度相比,如果小于平均高度,则将其定义
为标点符号;
54)确定每行上的所有连通体的中心点,并将每个中心点拟合成中心线;
55)通过连通体的水平投影,将投影集中于中线附近的干扰噪音剔除。
所述的步骤6)具体如下:
61)通过标点符号连通体的水平投影,确定标点符号和中心线的相对位置;
62)通过分析标点符号和中心线的相对位置,分别统计位于中心线的上方和下
方,即顶部和底部的标点符号个数Lt、Lb;
63)计算R=Lt/Lb,若R小于设定值,则所对应的文档扫描图像的方向为正确
方向,若R大于设定值,则所对应的文档扫描图像的方向为上下颠倒。
与现有技术相比,本发明具有以下优点:
1)通过去除噪声、页面分割和文本块筛选等操作使本发明方法具有较高的检
测准确率;
2)本发明方法是基于相对位置的字符和标点符号的比较,完全独立于语言,
适用于各种语言文字的文件图像,适用范围广。
附图说明
图1为本发明方法的流程示意图;
图2为文本块的投影示意图;
图3为本发明实施例中文本图像数据集的标点符号示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
如图1所示,一种基于标点符号的文档上下方向检测方法,用于对办公文档扫
描图像进行方向检测,该方法包括以下步骤:
在步骤S101中,获取文档扫描图像,采用边缘密度算法检测并去除图像中的
边缘噪音。
在步骤S102中,采用基于投影的页面分割算法对图像进行页面分割,获得若
干图像块,这里基于投影的页面分割算法为XY切割算法.
在步骤S103中,对每一个图像块,判断其是否为文本块,若是,则将其保留,
若否,则将其剔除;判断其是否为文本块的具体步骤为:
31)将图像块进行水平投影,获得投影图像;
32)若投影图像呈现具有一定间隔的山峰状,如图2所示,则判断与其对应的
图像块为文本块。
在步骤S104中,采用XY切割算法提取每个文本块中的连通体,具体如下:
41)首先通过水平投影后,取得该文字块的每一行,并将每一个行保存到一个
字符串数组,同时,计算并保存该行的平均行高到另一数组;
42)将字符串数组垂直投影,分离和提取出该行每个连通体,也即该行所有的
字符和标点符号。
在步骤S105中,根据连通体的高度和宽度,判断该连通体是否为标点符号,
若是,则执行步骤S106,若否,则返回步骤S105。根据连通体的高度和宽度判断
该连通体是否为标点符号的具体步骤如下:
51)计算每个连通体的宽度和高度,并计算平均宽度和平均高度;
52)将每一个连通体的宽度与平均宽度相比,如果小于平均宽度,则将其定义
为标点符号;
53)将每一个连通体的高度与平均高度相比,如果小于平均高度,则将其定义
为标点符号;
54)确定每行上的所有连通体的中心点,并将每个中心点拟合成中心线;
55)通过连通体的水平投影,将投影集中于中线附近的干扰噪音剔除。
在步骤S106中,分别统计接近于顶部的标点符号的出现次数Lt和接近于底部
的标点符号的出现次数Lb,根据R=Lt/Lb与设定值的大小关系,检测文档扫描图
像的方向,具体如下:
61)通过标点符号连通体的水平投影,确定标点符号和中心线的相对位置;
62)通过分析标点符号和中心线的相对位置,分别统计位于中心线的上方和下
方,即顶部和底部的标点符号个数Lt、Lb;
63)计算R=Lt/Lb,若R小于设定值,则所对应的文档扫描图像的方向为正确
方向,若R大于设定值,则所对应的文档扫描图像的方向为上下颠倒。
以来自于实际的办公扫描文件图像进行实验,实验的环境为:Intel Intel Pentium
D CPU 3.2GHz、1GB RAM、Windows XP、软件为Matlab7.0,分别进行5个实验。
在第一个实验中,测试的图像数据集的图像只有文本,没有图片或表格且图片
都是正确的方向,共分为三种不同的语言。因为没有图片和表格,所有的分割块都
是文本块,因此提取文本块非常简单和高效。在这个实验中,检测准确率达到了
100%。
图3为该图像数据集的所有文字块中的标点符号的出现统计数据。纵坐标表示
标点符号出现次数,横坐标是文本块的编号,从图3中可看出,总共有900多个文
本块。虚线表示接近底部的标点符号,实线表示接近顶部的标点符号。从图3中,
可以很容易得出这样的结论:在每一个文本块中,接近顶端的标点符号比接近底部
的标点符号少得多。因为每个文本块有很明显的数据,R=Lt/Lb可以很快的计算
出来,即可判断出每一个文档图像的方向。
在第二个实验中,数据集的图像跟第一个数据集是类似的。也有三种不同的语
言,也没有图片和表格的,但该数据集的文档图像是上下倒置的。
在其他3个实验中,分为英语、中文和日语的三个不同的文档图像数据集。并
且,在三个数据集中的每个文档都有表格、图片或者其他非文本块,且都有两种不
同方向的。虽然预处理,包括去除噪声,页面分割和文本块筛选等过程降低了整个
方法的效率,但是,本发明方法具有较高的准确率,具体数据如表1所示。
表1
No.
Text Languages
Orientation
Orientation Accuracy
1
English
Right Side Up
87.11%
2
English
Upside Down
85.26%
3
Chinese
Right Side Up
88.52%
4
Chinese
Upside Down
83.34%
5
Japanese
Right Side Up
83.89%
6
Japanese
Upside Down
85.29%