如何selectTesseract和OpenCV?

我最近遇到了Tesseract和OpenCV 。 它看起来像Tesseract是一个成熟的OCR引擎,OpenCV可以用作创buildOCR应用程序/服务的框架。

我尝试在我的一些图像上使用Tesseract,其准确性似乎不错。 后来,我遇到了一个非常简单的使用OpenCV来使用Python进行OCR的教程 ,给我留下了深刻的印象。 几分钟后,我完成了系统的训练,其准确性很好。 但是,当然,采取这种方法意味着我需要使用大型训练集广泛地训练我的系统。

我的具体问题如下:

  • 如何selectTesseract和使用OpenCVbuild立一个自定义的OCR应用程序?
  • 有针对不同语言的Tesseract可用的培训数据集。 OpenCV是否有类似的东西,所以我不必为了实现OCR而着手开展工作?
  • 哪一个更适合想要成为商业应用?

有什么build议么?

:我在计算机视觉领域有24个小时的工作经验,但愿意花时间和精力学习先决条件。

  • Tesseract是一个OCR引擎。 它被Google,专门用来从图像中读取文本,执行基本的文档分割以及对特定的图像input(单个单词,行,段落,页面,有限的字典等)进行操作和资助。

  • 另一方面,OpenCV是一个计算机视觉库,其中包含的function使您可以执行一些特征提取和数据分类。 你可以创build一个简单的字母分割器和分类器来执行基本的OCR,但是它不是一个非常好的OCR引擎(我从头做过一个Python的input,这对于偏离训练数据的input是不准确的)。

如果您想对OCR的硬性有一个基本的了解,请尝试OpenCV。 Tesseract是为了真正的 OCR。

我是你提到的那个数字识别教程的作者, 我想说,这是替代tesseract的方法。

Tesseract是一个非常好的OCR引擎,可能是最好的OpenSource OCR引擎。

你提到的教程只是一个尝试,了解OCR的最简单的工作。

因此,如果您正在寻找OCR应用程序,我build议您使用OpenCV对图像进行预处理,然后应用tesseract引擎。

两者可以互补。 如果您阅读OpenCV上的文章http://tesseract-ocr.googlecode.com/svn/trunk/doc/tesseracticdar2007.pdf

它强调说:“由于惠普自主开发了用于产品的页面布局分析技术(因此并未公开发布),Tesseract从未需要自己的页面布局分析,因此Tesseract假设其input是二进制图像,可选的多边形文本区域定义“。

这种types的任务可以通过OpenCV执行,并将生成的图像交给Tesseract。 你可以在Git仓库中find这样的代码样本: https : //github.com/Itseez/opencv_contrib/tree/master/modules/text/samples示例使用Tesseract API来进行图像到文本的转换。

OpenCV是CV的一个库,用于分析和处理一般的图像。 Tesseract是一个用于OCR的库,它是CV的专用子集,专用于从图像中提取文本。

来自OpenCV.org

…..用于检测和识别人脸,识别对象,分类video中的人为操作,跟踪相机移动,跟踪移动物体,提取物体的3D模型,从立体相机生成3D点云,将图像拼接在一起以产生高从一个图像数据库中find相似的图像,从使用闪光灯拍摄的图像中去除红眼,追踪眼睛运动,识别景物并build立标记以用增强现实等来覆盖它。

来自Tesseract Github :

…..可以直接使用,或者(对于程序员)使用API​​从图像中提取input的,手写的或打印的文本。 它支持各种各样的语言。