【发布时间】:2012-07-14 10:41:50
【问题描述】:
我最近遇到了Tesseract 和OpenCV。看起来 Tesseract 是一个成熟的 OCR 引擎,OpenCV 可以用作创建 OCR 应用程序/服务的框架。
我尝试在我的一些图像上使用 Tesseract,它的准确性似乎不错。后来,我遇到了一个非常简单的tutorial,关于使用 OpenCV 使用 Python 执行 OCR,印象深刻。几分钟后,我完成了系统的训练,它的准确性很好。但是,当然,采用这种方法意味着我需要使用大型训练集来广泛训练我的系统。
我的具体问题如下:
- 如何在 Tesseract 和使用 OpenCV 构建自定义 OCR 应用之间做出选择?
- 有可用于不同语言的 Tesseract 的训练数据集。 OpenCV 是否有类似的东西,所以我不必从头开始实现 OCR?
- 哪个更适合商业应用?
有什么建议吗?
【问题讨论】:
-
下面的答案真的很棒,但作为一个使用过 OCR 的人,我可以告诉你,Tesseract 中的识别质量低于商业应用用户的期望。 Tesseract 很棒,但 OCR 很难——诸如在线培训或即时改进之类的东西是嗯……仍在研究中。最近,TS 背后的大赞助商 Google 决定打造自己的引擎 - OCROpus。虽然它承诺将其开源,但核心识别引擎尚不可用 - 他们只发布了一个框架 - 这是 tesseract 的 api。
-
@vasile:这非常有用。我不知道 OCROpus。谢谢你。如果我的最终目标是写一张名片 OCR(或者说,像我链接的那样读取加油站收据:upload.wikimedia.org/wikipedia/en/3/34/…),您对替代方案有什么建议吗?我之所以问,是因为我只是好奇众多移动应用程序使用什么来实现这一目标。我不介意在服务器端进行 OCR。看到这个很酷的演示后,我很想使用 OpenCV:youtube.com/watch?v=OkcOfS1lTxs
-
有许多商业 OCR 引擎,只需 google
OCR accuracy tests即可找到一些图表。谈到移动应用程序,他们中的大多数都使用 tesseract。但是,如果您费心去下载其中的一些,您会发现结果与 Promise 有点不同。他们通常在精心控制的环境中制作视频演示并将其发布在 youtube 上,但在野外,如果您扫描页面/食谱/卡片/任何东西,您会得到一些有趣的结果。 -
@vasile:谢谢。今晚有事让我忙。非常感谢您的时间。
标签: python opencv computer-vision ocr tesseract