使用OpenCV,我该如何在进行OCR之前检测文本方向?

4
在iOS应用程序中使用OpenCV。我想对一些文本执行OCR,但我需要首先确定其方向。在OpenCV中如何实现?

我想可以通过估计文本对齐来完成。 - kirilloid
1
过于模糊 - 没有提供关于所建议的库或使用情况(手动喂养扫描等)的额外细节。 - Scott Corscadden
@ScottCorscadden 使用 openCV。 - Mustafa Ibrahim
4个回答

8
我不确定在不使用OCR库的情况下,能否仅凭几行文字回答这个问题。二十年前,我写了一套OCR系统(没有使用任何OCR库),用于实时读取银行支票。它还可以验证手写签名。检查方向的问题很棘手,因为支票可以随意插入小型电动扫描仪中(由人工操作员)。由于所有银行都使用不同的页面布局和装饰,因此找到方向的唯一方法是在“页面”顶部的第一个字符上尝试进行OCR识别,而不能依赖磁性墨水(扫描仪无法检测到)。有些字符是模糊的,比如'O',但大多数其他字符会告诉你图片是否倒置或镜像,因此只需阅读前3-5个字符即可完成任务(除非有重复)。祝好运!

5

本答案已更新

  • 如果您需要检测文本的旋转角度,请查看这篇文章(它分享了源代码):

  • 在文本经过去斜后,可以执行OCR过程并将其结果与字典进行比较。如果匹配率高,则说明文本已正确旋转,方向现在是正确的。

1
我几周前遇到了类似的问题,但在分心之前只是刚开始研究。无论如何,您可以使用离散傅里叶变换(DFT)在一定程度上实现您想要的目标。模糊或侵蚀图像,以便所有单词/行中的小白色间隙填充为实心黑线(这有助于消除图像中的高频噪声),对图像进行DFT,对其应用低通或带通滤波器(频率根据所需字体大小与图像大小的相对关系),并分析得到的幅度图。您将需要进行一些研究,或者其他人需要详细说明,但这绝对是我找到的最佳解决方案。
我现在正在做另一个项目,但我会在一周左右回来,并告诉您更多详细信息,如果其他人还没有这样做的话。当然,这篇文章现在有点旧了,所以我可能甚至不会得到回应哈哈,但这将是未来其他人寻找参考的好资料。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接