当前位置:  开发笔记 > 编程语言 > 正文

从文档图像中分割线条,单词和字符

如何解决《从文档图像中分割线条,单词和字符》经验,为你挑选了1个好方法。

我正在开展一个项目,我必须从图像中读取文档.在初始阶段,我将阅读机器打印的文档,然后最终转移到手写文档的图像.但是我这样做是为了学习目的,所以我不打算像Tesseract那样使用apis.我打算按步骤做:

    预处理(模糊,阈值处理,侵蚀和膨胀)

    字符分割

    OCR(或后期的ICR)

所以我现在正在进行字符分割,最近我通过水平和垂直直方图进行了分析.对于某些字体,我无法获得非常好的结果,例如显示的图像我无法获得好的结果.

文件的图像

还有其他方法或算法可以做同样的事情吗?任何帮助将不胜感激!

编辑1:

使用cv2.SimpleBlobDetector检测blob后得到的结果. 结果

使用cv2.findContours后得到的结果. 在此输入图像描述



1> Yves Daoust..:

第一种选择是通过偏斜校正,即测量倾斜角.例如,您可以通过高斯滤波或水平方向的侵蚀来实现这一点,以便角色变宽并接触.然后二值化并细化或找到斑点的下边缘(或直接找到斑点的方向).您将获得略微倾斜的线段,为您提供倾斜方向.

在此输入图像描述

当您知道歪斜方向时,您可以反向旋转以执行去歪斜.然后,垂直直方图将可靠地分隔线条,您可以在每个线条中使用水平直方图.

第二种选择,IMO要好得多,就是对字符进行二值化并执行blob检测.然后,边界框的邻近分析将允许您确定字符链.他们会告诉你线条,间距越大,划分单词.

在此输入图像描述

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有