文稿倾斜角度检测的方法和装置的制作方法

文档序号:7700823阅读:206来源:国知局
专利名称:文稿倾斜角度检测的方法和装置的制作方法
技术领域
本发明涉及图像处理领域,具体而言,涉及一种文稿倾斜角度检测的方法和装置。
背景技术
现有技术中,文稿倾斜角度检测最常见的方法为直线拟合方法和哈夫(Hough)变 换方法。直线拟合方法是通过找到一系列的点对(X,y)来拟合出一条直线,通过该直线的 斜率就可以得到倾斜角度。Hough变换方法是指检测图像中最长的直线,然后根据直线的斜 率得出倾斜角度,该方法应用的前提是图像中有较长的直线,并且直线斜率和文稿倾斜角 度是一致的。现有技术往往是针对软件实现,对于硬件实现来说,算法复杂性较高且硬件成本 较大。同时需要依赖一些特殊条件,比如Hough变换检测倾斜角度,该方法需要得到整个 文稿的边框信息,从边框中检测出直线,然后得出倾斜角度;如果文稿没有边框信息,Hough 变换检测的结果将难以保证。而直线拟合的方法则要依赖同行检测的结果,也就是必须是 同一行的字符计算出来的结果才有可能准确。现有技术中也提出了其它文稿倾斜角度检测的方法,如依据部分图像的倾斜角度 确定文稿图像的倾斜角度,而这种方法由于缺乏对整个图像的分析,因此难以保证精度。在实现本发明过程中,发明人发现现有技术中依据部分图像的倾斜角度确定文稿 图像的倾斜角度的方法需要对图像扫描两次,导致缓冲数据量较大,速度较慢。

发明内容
本发明旨在提供一种文稿倾斜角度检测的方法和装置,能够解决现有技术中依据 部分图像的倾斜角度确定文稿图像的倾斜角度的方法需要对图像扫描两次,导致缓冲数据 量较大,速度较慢的问题。在本发明的实施例中,提供了一种文稿倾斜角度检测的方法,包括以下步骤扫描文稿得到当前连通域,更新缓冲区;根据更新后的缓冲区内连通域计算斜率,更新斜率数组;判断文稿是否扫描结束;当文稿扫描结束时,依据斜率数组中贡献度最大的斜率,计算得到文稿的倾斜角度,否则,继续扫描文稿。在本发明的实施例中,还提供了一种文稿倾斜角度检测的装置,包括扫描模块,用于扫描文稿得到当前连通域(block),更新缓冲区;计算模块,用于根据扫描模块得到的缓冲区内的所有连通域计算斜率,更新斜率 数组;判断模块,用于判断扫描模块扫描文稿是否结束;滤波模块,用于当文稿扫描结束时,依据斜率数组中贡献度最大的斜率,计算得到文稿的倾斜角度。上述实施例通过扫描一次文稿,将按照扫描方向扫描文稿得到当前连通域,更新 到缓冲区后计算得到连通域的斜率数组,最后依据斜率数组中贡献度最大的斜率,计算得 到文稿的倾斜角度,降低了缓冲数据量,从而加快了检测文稿倾斜角度的速度,提高了文稿 倾斜角度检测的精度,克服了现有技术中依据部分图像的倾斜角度确定文稿图像的倾斜角 度的方法需要对图像扫描两次,导致缓冲数据量较大,速度较慢的问题。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1示出了根据本发明一个实施例的文稿倾斜角度检测的方法流程图;图2示出了根据本发明的一个实施例的连通域示意图;图3示出了根据本发明的一个优选实施例的计算两个连通域之间斜率的示意图;图4示出了根据本发明的一个实施例的当缓冲区已满时计算斜率的示意图;图5示出了根据本发明的一个实施例的当缓冲区未满时计算斜率的示意图;图6示出了根据本发明的一个优选实施例的文稿倾斜角度检测的方法流程图;图7示出了根据本发明一个实施例的文稿倾斜角度检测的装置示意图。
具体实施例方式下面将参考附图并结合实施例,来详细说明本发明。图1示出了根据本发明一个实施例的文稿倾斜角度检测的方法流程图,包括以下 步骤S102,扫描文稿得到当前连通域,更新缓冲区的尺寸;S104,根据更新后缓冲区内的连通域计算斜率,更新斜率数组;S106,判断文稿是否扫描结束,当文稿扫描结束时,执行步骤S108,否则,重新执行 步骤S102 ;S108,依据斜率数组中贡献度最大的斜率,计算得到文稿的倾斜角度。上述实施例通过扫描一次文稿,将按照扫描方向扫描文稿得到当前连通域,更新 到缓冲区后计算得到连通域的斜率数组,最后依据斜率数组中贡献度最大的斜率,计算得 到文稿的倾斜角度,降低了缓冲数据量,从而加快了检测文稿倾斜角度的速度,提高了文稿 倾斜角度检测的精度,克服了现有技术中依据部分图像的倾斜角度确定文稿图像的倾斜角 度的方法需要对图像扫描两次,导致缓冲数据量较大,速度较慢的问题。优选地,上述贡献度最大的斜率是调用高斯滤波算法对斜率数组进行处理,得到 的出现次数最多的斜率,高斯滤波算法具有较好的去噪性能,较适合本实施例。优选地,上述连通域block是指连续的黑色像素点构成的连通区域,图2示出了根 据本发明的一个实施例的连通域示意图,如图2所示,英文字母“ABC”包含三个连通域,其 连通域的最小外接矩形分别为21、22和23 ;中文“好的”包含四个连通域,其连通域的最小 外接矩形分别为24、25、26和27。每个连通域包含如下信息连通域的最小外接矩形左上角点坐标以及最小外接矩形的高度、宽度和中心点坐标。优选地,上述文稿倾斜角度检测的方法中,更新缓冲区包括如果当前连通域的尺寸正常,将其存储到缓冲区,重新确定缓冲区的尺寸。优选地,上述文稿倾斜角度检测的方法中,当缓冲区未满时,连通域的正常尺寸是 指预先设置的参考尺寸;当缓冲区已满时,连通域的正常尺寸是指对缓冲区的连通域进行 小尺寸滤波处理后的连通域尺寸。整个文稿可能存在多栏的情况,不同栏内的字符尺寸有可能不一致,因此需要动 态计算连通域正常尺寸。在上述实施例中,当缓冲区已满时通过对缓冲区内的连通域的尺 寸进行小尺寸滤波处理,得到正常的尺寸信息。优选地,上述小尺寸滤波是一维高斯滤波器滤波,对字符宽度直方图及字符高度 直方图分别做滤波处理,去除噪声的干扰。优选地,上述一维高斯滤波器是5 X 1的一维高斯滤波器,采用5 X 1的一维高斯滤 波器较适合本实施例。优选地,上述将所述当前连通域存储到缓冲区,重新确定所述缓冲区的尺寸包 括当缓冲区未满时,将当前连通域放入缓冲区中,同时依据缓冲区内所有连通域的 位置信息,确定缓冲区内包含所有连通域的最小外接矩形;当缓冲区已满时,将缓冲区内最先放入的连通域移出,并将当前连通域放入缓冲 区中,同时依据缓冲区内所有连通域的位置信息,确定缓冲区内包含所有连通域的最小外 接矩形。优选地,上述文稿倾斜角度检测的方法中,根据缓冲区的连通域计算斜率,更新斜 率数组包括计算目标连通域与其周围的连通域之间的斜率;当斜率在预先设定的斜率范围内并且其对应的连通域与目标连通域的距离小于 距离阈值时,将上述斜率记录在斜率数组中。图3示出了根据本发明的一个优选实施例的计算两个连通域之间斜率的示意图。 两个连通域之间的斜率是依据两个连通域的中心点坐标计算的。如图3所示,中文“十天” 包含两个连通域,连通域31与连通域32之间的斜率为通过连通域31的中心点33与连通 域32的中心点34的直线斜率。优选地,上述预先设定的斜率范围为(-tan α , tan α ),其中斜率阈值tan α的取 值范围为(0,tan6° );上述距离阈值是通过目标连通域且斜率为斜率阈值的直线与缓冲 区的最小外接矩形上下边界水平线的两个交点到目标连通域距离的最大值。优选地,当缓冲区未满时,目标连通域是当前连通域;当缓冲区已满时,目标连通 域是位于缓冲区中间的连通域。图4示出了根据本发明的一个实施例的当缓冲区已满时计算斜率的示意图,如图 4所示,当前缓冲区内首次放入的连通域block 1被移出,连通域block 2是放入缓冲区的 当前连通域。缓冲区的原始尺寸为虚线部分的矩形Li,由于新的block加入,更新后的缓冲 区范围是矩形L2,而位于中间的连通域block 3则是需要计算斜率的目标连通域。依次计 算目标连通域block 3与缓冲区内L2的其它block之间的斜率,当斜率处于预先设定的斜率范围(-tana,tana)内且block到目标连通域block 3的距离小于距离阈值R时,则将 斜率被记录在斜率数组中。其中,斜率阈值tana的取值范围为(0,tan6° ),R为通过目 标连通域block 3且斜率为tan α的直线与缓冲区的最小外接矩形L2上下边界水平线的 两个交点到目标连通域block 3距离的最大值。最终,扇形区域L3内连通域的斜率被记录 在斜率数组中,而处在扇形区域L3之外的block的斜率是不需要记录的。图5示出了根据本发明的一个实施例的当缓冲区未满时计算斜率的示意图,如图 5所示,缓冲区的原始尺寸为虚线部分的矩形Li,由于新的block加入,更新后的缓冲区范 围是矩形L2,放入缓冲区的当前连通域block 2是目标block。依次计算目标连通域block2 与缓冲区内L2的其它block之间的斜率,当斜率处于预先设定的斜率范围(-tana ,tana) 内且block到目标连通域block 2的距离小于距离阈值R时,则将斜率被记录在斜率数组 中。其中,斜率阈值tana的取值范围为(0,tan6° ),R为通过目标连通域block 2且斜 率为tan α的直线与缓冲区的最小外接矩形L2上下边界水平线的两个交点到目标连通域 block 2距离的最大值。最终,扇形区域L3内连通域的斜率被记录在斜率数组中,而处在扇 形区域L3之外的block的斜率是不需要记录的。优选地,上述文稿倾斜角度检测的方法中,调用高斯滤波算法对斜率数组进行处 理得到文稿的倾斜角度具体包括根据精度要求,确定高斯滤波的尺寸,并生成相应的高斯滤波器;通过高斯滤波器,对上述斜率数组进行两次高斯滤波,得到出现次数最多的斜 率;
根据上述次数出现最多的斜率计算文稿的倾斜角度。在本实施例中,设定的斜率范围为(-tan5.5°,tan5.5° ),计算出的文稿的倾斜 角度为3. 5°。图6示出了根据本发明的一个优选实施例的文稿倾斜角度检测的方法流程图,包 括以下步骤S202 扫描文稿,获得新的连通域block ;S204 判断缓冲区是否已满,若缓冲区已满,则执行S206,若缓冲区未满,则执行 S208 ;S206 计算连通域block的正常尺寸;S208 判断当前连通域block尺寸是否正常,若尺寸正常,则执行S210,若尺寸不 正常,则执行S202;S210 更新缓冲区;S212 根据缓冲区内连通域计算斜率,更新斜率数组;S214 判断文稿扫描是否结束,若扫描结束,则执行S216,若扫描未结束,则执行 S202 ;S216 高斯滤波得到最终的文稿倾斜角度;上述实施例中根据精度要求,确定高斯滤波尺寸,并生成高斯滤波器。通过对步骤 S212得到的斜率数组进行两次高斯滤波后,得到出现次数最多的斜率,进而求得最终的文 稿倾斜角度。图7示出了根据本发明一个实施例的文稿倾斜角度检测的装置示意图,包括
扫描模块10,用于扫描文稿得到当前连通域,更新缓冲区;计算模块20,用于根据扫描模块10得到的缓冲区内的所有连通域计算斜率,更新 斜率数组;判断模块30,用于判断扫描模块10扫描文稿是否结束;滤波模块40,用于当文稿扫描结束时,依据斜率数组中贡献度最大的斜率,计算得 到文稿的倾斜角度。上述实施例通过扫描一次文稿,将按照扫描方向扫描文稿得到的连通域更新到缓 冲区后计算得到斜率数组,最后依据斜率数组中贡献度最大的斜率,计算得到文稿的倾斜 角度,降低了缓冲数据量,从而加快了检测文稿倾斜角度的速度,提高了文稿倾斜角度检测 的精度,克服了现有技术中依据部分图像的倾斜角度确定文稿图像的倾斜角度的方法需要 对图像扫描两次,导致缓冲数据量较大,速度较慢的问题。优选地,上述贡献度最大的斜率是调用高斯滤波算法对斜率数组进行处理,得到 的出现次数最多的斜率,高斯滤波算法具有较好的去噪性能,较适合本实施例。每个外接矩形包含如下信息左上角点位置、高度、宽度及质心点位置。优选地,上述扫描模块包括第一判断单元,用于判断连通域的尺寸是否正常。优选地,上述扫描模块还包括第二判断单元,用于判断缓冲区是否已满。优选地,上述文稿倾斜角度检测的装置中,当缓冲区未满时,连通域的正常尺寸是 指预先设置的参考尺寸;当缓冲区已满时,连通域的正常尺寸是指对缓冲区的连通域进行 小尺寸滤波处理后的连通域尺寸。整个文稿可能存在多栏的情况,不同栏内的字符尺寸有可能不一致,因此需要动 态计算连通域block正常尺寸。在上述实施例中,当缓冲区已满时通过对缓冲区内的连通 域block的尺寸进行小尺寸滤波处理,得到正常的尺寸信息。优选地,上述小尺寸滤波是一维高斯滤波,对字符宽度直方图及字符高度直方图 分别做滤波处理,去除噪声的干扰。优选地,上述一维高斯滤波是5 X 1的一维高斯滤波,采用5 X 1的一维高斯滤波较 适合本实施例。优选地,上述计算模块包括第一计算单元,用于计算缓冲区中目标连通域与其周围的连通域之间的斜率,当 斜率在预先设定的斜率范围内并且其对应的连通域与目标连通域的距离小于距离阈值时, 将斜率记录在斜率数组中。优选地,在上述实施例中,当缓冲区未满时,目标连通域是当前连通域;当缓冲区 已满时,目标连通域是位于缓冲区中间的连通域。优选地,滤波模块包括生成单元,用于根据精度要求,确定高斯滤波的尺寸,并生成相应的高斯滤波器;第二计算单元,用于根据生成单元生成的高斯滤波器,对由计算模块得到的斜率 数组进行两次高斯滤波,得到出现次数最多的斜率;第三计算单元,用于根据第二计算单元得到的斜率计算文稿的倾斜角度。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的 硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种文稿倾斜角度检测的方法,其特征在于,包括以下步骤扫描文稿得到当前连通域,更新缓冲区;根据更新后所述缓冲区内的连通域计算斜率,更新斜率数组;判断所述文稿是否扫描结束;当所述文稿扫描结束时,依据所述斜率数组中贡献度最大的斜率,计算得到所述文稿的倾斜角度。否则,继续扫描所述文稿。
2.根据权利要求1所述的文稿倾斜角度检测的方法,其特征在于,所述贡献度最大的 斜率是调用高斯滤波算法对所述斜率数组进行处理,得到的出现次数最多的斜率。
3.根据权利要求2所述的文稿倾斜角度检测的方法,其特征在于,更新缓冲区包括 当所述当前连通域的尺寸正常时,将其存储到缓冲区,重新确定所述缓冲区的尺寸。
4.根据权利要求3所述的文稿倾斜角度检测的方法,其特征在于当所述缓冲区未满时,所述连通域的正常尺寸是指预先设置的参考尺寸; 当所述缓冲区已满时,所述连通域的正常尺寸是指对缓冲区的连通域进行小尺寸滤波 处理后的连通域尺寸。
5.根据权利要求4所述的文稿倾斜角度检测的方法,其特征在于,所述小尺寸滤波是 一维高斯滤波器滤波。
6.根据权利要求5所述的文稿倾斜角度检测的方法,其特征在于,所述一维高斯滤波 器是5X1的一维高斯滤波器。
7.根据权利要求3所述的文稿倾斜角度检测的方法,其特征在于,将所述当前连通域 存储到缓冲区,重新确定所述缓冲区的尺寸包括当所述缓冲区未满时,将所述当前连通域放入所述缓冲区中,同时依据所述缓冲区内 所有连通域的位置信息,确定所述缓冲区的包含所有连通域的最小外接矩形;当所述缓冲区已满时,将缓冲区内最先放入的连通域移出,并将所述当前连通域放入 所述缓冲区中,同时依据所述缓冲区内所有连通域的位置信息,确定所述缓冲区的包含所 有连通域的最小外接矩形。
8.根据权利要求7所述的文稿倾斜角度检测的方法,其特征在于,根据所述缓冲区的 连通域计算斜率,更新斜率数组包括计算目标连通域与其周围的连通域之间的斜率;当所述斜率在预先设定的斜率范围内并且其对应的连通域与所述目标连通域的距离 小于距离阈值时,将所述斜率记录在斜率数组中。
9.根据权利要求8所述的文稿倾斜角度检测的方法,其特征在于,所述斜率范围为(-tana,tana),其中斜率阈值tana的取值范围为(0,tan6° ); 所述距离阈值是通过所述目标连通域且斜率为所述斜率阈值的直线与所述缓冲区的 最小外接矩形上下边界水平线的两个交点到所述目标连通域距离的最大值。
10.根据权利要求8所述的文稿倾斜角度检测的方法,其特征在于, 当所述缓冲区未满时,所述目标连通域是所述当前连通域;当所述缓冲区已满时,所述目标连通域是位于所述缓冲区中间的连通域。
11.根据权利要求8所述的文稿倾斜角度检测的方法,其特征在于,依据所述斜率数组 中贡献度最大的斜率,计算得到所述文稿的倾斜角度具体包括根据精度要求,确定高斯滤波的尺寸,并生成相应的高斯滤波器; 通过所述高斯滤波器对所述斜率数组进行两次高斯滤波,得到出现次数最多的斜率; 根据所述斜率计算所述文稿的倾斜角度。
12.—种文稿倾斜角度检测的装置,其特征在于,包括 扫描模块,用于扫描文稿得到当前连通域,更新缓冲区;计算模块,用于根据所述缓冲区内的所有连通域计算斜率,更新斜率数组; 判断模块,用于判断所述扫描模块扫描文稿是否结束;滤波模块,用于当所述文稿扫描结束时,依据所述斜率数组中贡献度最大的斜率,计算 得到所述文稿的倾斜角度。
13.根据权利要求12所述的文稿倾斜角度检测的装置,其特征在于,所述贡献度最大 的斜率是调用高斯滤波算法对所述斜率数组进行处理,得到的出现次数最多的斜率。
14.根据权利要求12所述的文稿倾斜角度检测的装置,其特征在于,所述扫描模块包括第一判断单元,用于判断所述连通域的尺寸是否正常。
15.根据权利要求14所述的文稿倾斜角度检测的装置,其特征在于,所述扫描模块还 包括第二判断单元,用于判断所述缓冲区是否已满。
16.根据权利要求15所述的文稿倾斜角度检测的装置,其特征在于,当所述缓冲区未满时,所述连通域的正常尺寸是指预先设置的参考尺寸; 当所述缓冲区已满时,所述连通域的正常尺寸是指对缓冲区的连通域进行小尺寸滤波 处理后的连通域尺寸。
17.根据权利要求16所述的文稿倾斜角度检测的装置,其特征在于,所述计算模块包括第一计算单元,用于计算缓冲区中目标连通域与其周围的连通域之间的斜率,当所述 斜率在预先设定的斜率范围内并且其对应的连通域与所述目标连通域的距离小于距离阈 值时,将所述斜率记录在斜率数组中。
18.根据权利要求17所述的文稿倾斜角度检测的装置,其特征在于, 当所述缓冲区未满时,所述目标连通域是所述当前连通域;当所述缓冲区已满时,所述目标连通域是位于所述缓冲区中间的连通域。
19.根据权利要求13所述的文稿倾斜角度检测的装置,其特征在于,所述滤波模块包括生成单元,用于根据精度要求,确定高斯滤波的尺寸,并生成相应的高斯滤波器; 第二计算单元,用于根据所述生成单元生成的所述高斯滤波器,对由所述计算模块得 到的斜率数组进行两次高斯滤波,得到出现次数最多的斜率;第三计算单元,用于根据所述第二计算单元得到的斜率计算所述文稿的倾斜角度。
全文摘要
本发明提供了一种文稿倾斜角度检测的方法,包括以下步骤扫描文稿得到当前连通域,更新缓冲区;根据更新后的缓冲区内的连通域计算斜率,更新斜率数组;判断文稿是否扫描结束;当文稿扫描结束时,依据斜率数组中贡献度最大的斜率,计算得到文稿的倾斜角度,否则,继续扫描文稿。本发明克服了现有技术中依据部分图像的倾斜角度确定文稿图像的倾斜角度的方法需要对图像扫描两次,导致缓冲数据量较大,速度较慢的问题。此外,本发明还提供了一种文稿倾斜角度检测的装置。
文档编号H04N1/10GK101924856SQ20091008666
公开日2010年12月22日 申请日期2009年6月17日 优先权日2009年6月17日
发明者六尾敏明, 李平立, 纪延瑶, 袁梦尤 申请人:北京大学;方正国际软件(北京)有限公司;京瓷美达株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1