我在 iOS 应用程序中使用 OpenCV。我想对某些文本执行 OCR,但我首先需要确定它的方向。
我如何在 OpenCV 中做到这一点?
我不确定是否可以在不提供 Objective-C 中的 OCR 的情况下回答这个问题——如果不使用 OCR 库,这很难在几行文本中完成。
好吧,20 年前,我编写了一个 OCR 系统(不使用任何 OCR 库)来实时读取银行支票。顺便说一句,它还在验证手写签名。
检查方向的问题很严重,因为支票可以(由人工操作员)随机插入小型电动银行支票扫描仪中。
由于所有银行都使用不同的页面布局和装饰,不依赖磁性墨水(扫描仪未检测到)来查找方向的唯一方法是实际尝试对“页面”顶部的第一个字符进行 OCR 识别'。
有些字符像“O”一样模棱两可,但大多数其他字符会告诉您图片是倒置还是镜像,因此只需阅读前 3-5 个字符即可完成工作(除非您有重复)。
祝你好运!
此答案已更新。
几周前我遇到了类似的问题,只是在我分心之前才开始研究它。无论如何,您可以使用离散傅立叶变换(在一定程度上)实现您想要的。模糊或腐蚀图像,使单个单词/行中的所有小白色间隙都填充为实心黑线(这有助于消除图像中的大量高频噪声),对图像进行 DFT,应用低-通过或带通滤波器(频率根据相对于图像大小的所需字体大小),并分析生成的幅度图。您将需要进行一些研究,否则其他人将需要详细说明,但这绝对是我找到的最佳解决方案。
我现在正在做另一个项目,但我会在一周左右的时间内回到这个项目,如果其他人还没有这样做的话,我会让你知道更多细节。当然,这个帖子现在有点老了,所以我什至可能没有得到回应哈哈,但无论如何它对其他人来说都是一个很好的参考。