我正在做一个项目,在这个项目中,我必须从图像中读取文档。在最初阶段,我将阅读机器打印的文件,然后最终移到手写文档的图像。然而,我这样做是为了学习,所以我不打算使用像Tesseract之类的apis。我打算分步骤做:
所以我现在正在做字符分割,我最近通过水平和垂直直方图进行了分割。对于一些字体,我无法获得很好的效果,就像图像显示的那样,我无法获得好的结果。

还有其他方法或算法来做同样的事情吗?任何帮助都将不胜感激!
编辑1:
用cv2.SimpleBobloDetector检测气泡后得到的结果。

我在使用cv2.findContos之后得到的结果。

发布于 2017-01-16 09:07:29
第一个选择是通过测角,即测量斜角。例如,您可以通过高斯滤波或水平方向的侵蚀来实现这一点,从而使字符变宽并与之接触。然后进行二值化和细化,或找出气泡的下边缘(或直接找出气泡的方向)。你会得到稍微倾斜的线段,这给你倾斜的方向。

当你知道倾斜方向时,你可以反旋转来执行脱皮.垂直直方图将可靠地将这些线分开,您可以在每条线中使用一个水平直方图。
另一个更好的选择是对字符进行二进制化并执行blob检测。然后,对包围框的邻近性分析将允许您确定字符链。他们会告诉你行,在空格较大的地方,分隔单词。

https://stackoverflow.com/questions/41670628
复制相似问题