如何在 Tesseract 和 OpenCV 之间进行选择?

2022-01-09 00:00:00 python opencv computer-vision ocr tesseract

问题描述

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

I recently came across Tesseract and OpenCV. It looks like Tesseract is a full-fledged OCR engine and OpenCV can be used as a framework to create an OCR application/service.

我尝试在我的一些图像上使用 Tesseract,它的准确性似乎不错.后来偶然发现了一个非常简单的教程关于使用OpenCV来执行使用 Python 进行 OCR 并印象深刻.几分钟后,我完成了系统的训练,它的准确性很好.但是,当然,采用这种方法意味着我需要使用大型训练集来广泛训练我的系统.

I tried using Tesseract on some of my images and its accuracy seems decent. Later, I came across a very simple tutorial on using OpenCV to perform OCR using Python and was impressed. In a few minutes, I finished training the system and its accuracy was good. But of course, taking this approach means I need to train my system extensively using a large training set.

我的具体问题如下:

  • 如何在 Tesseract 和使用 OpenCV 构建自定义 OCR 应用之间进行选择?
  • 有用于不同语言的 Tesseract 训练数据集.OpenCV 是否有类似的东西,所以我不必从头开始实现 OCR?
  • 哪个更适合商业应用?

有什么建议吗?


解决方案

  • Tesseract 是一个 OCR 引擎.它由 Google 使用、开发和资助,专门用于从图像中读取文本、执行基本文档分割以及对特定图像输入(单个单词、行、段落、页面、有限字典等)进行操作.

    • Tesseract is an OCR engine. It's used, worked on and funded by Google specifically to read text from images, perform basic document segmentation and operate on specific image inputs (a single word, line, paragraph, page, limited dictionaries, etc.).

      另一方面,OpenCV 是一个计算机视觉库,其中包含可让您执行某些特征提取和数据分类的功能.您可以创建一个简单的字母分割器和分类器来执行基本的 OCR,但它不是一个很好的 OCR 引擎(我之前在 Python 中从头开始制作了一个.对于偏离训练数据的输入确实不准确).

      OpenCV, on the other hand, is a computer vision library that includes features that let you perform some feature extraction and data classification. You can create a simple letter segmenter and classifier that performs basic OCR, but it is not a very good OCR engine (I've made one in Python before from scratch. It's really inaccurate for input that deviates from your training data).

      如果您想基本了解 OCR 的难度,请尝试 OpenCV.Tesseract 用于真实 OCR.

      If you want to get a basic understanding of how hard OCR is, try OpenCV. Tesseract is for real OCR.

相关文章