4

我在 iOS 应用程序中使用 OpenCV。我想对某些文本执行 OCR,但我首先需要确定它的方向。

我如何在 OpenCV 中做到这一点?

4

4 回答 4

8

我不确定是否可以在不提供 Objective-C 中的 OCR 的情况下回答这个问题——如果不使用 OCR 库,这很难在几行文本中完成。

好吧,20 年前,我编写了一个 OCR 系统(不使用任何 OCR 库)来实时读取银行支票。顺便说一句,它还在验证手写签名。

检查方向的问题很严重,因为支票可以(由人工操作员)随机插入小型电动银行支票扫描仪中。

由于所有银行都使用不同的页面布局和装饰,不依赖磁性墨水(扫描仪未检测到)来查找方向的唯一方法是实际尝试对“页面”顶部的第一个字符进行 OCR 识别'。

有些字符像“O”一样模棱两可,但大多数其他字符会告诉您图片是倒置还是镜像,因此只需阅读前 3-5 个字符即可完成工作(除非您有重复)。

祝你好运!

于 2012-04-12T11:38:37.690 回答
4

此答案已更新

  • 如果需要检测文字的旋转角度,可以看这篇文章(分享源码):

  • 在对文本进行纠偏后,可以执行 OCR 程序并将其结果与字典进行比较。如果匹配率很高,您就知道文本已正确旋转并且方向现在可以了。
于 2012-04-12T14:22:24.950 回答
1

霍夫变换可能会对您有所帮助。霍夫投票地图上的最大值(准确地说是占主导地位的集群,但为此您需要k=1 的k-means)将为您提供所需的角度。

在此处输入图像描述

于 2013-04-16T14:03:41.587 回答
1

几周前我遇到了类似的问题,只是在我分心之前才开始研究它。无论如何,您可以使用离散傅立叶变换(在一定程度上)实现您想要的。模糊或腐蚀图像,使单个单词/行中的所有小白色间隙都填充为实心黑线(这有助于消除图像中的大量高频噪声),对图像进行 DFT,应用低-通过或带通滤波器(频率根据相对于图像大小的所需字体大小),并分析生成的幅度图。您将需要进行一些研究,否则其他人将需要详细说明,但这绝对是我找到的最佳解决方案。

我现在正在做另一个项目,但我会在一周左右的时间内回到这个项目,如果其他人还没有这样做的话,我会让你知道更多细节。当然,这个帖子现在有点老了,所以我什至可能没有得到回应哈哈,但无论如何它对其他人来说都是一个很好的参考。

于 2013-04-16T12:30:28.627 回答