-
一旦我们使用 OpenCV 检测到文本区域,我们将提取每个文本 ROI 并将它们传递到 Tesseract,使我们能够构建完整的 OpenCV OCR 管道!
-
最后,我将通过向您展示使用 OpenCV 应用文本识别的一些示例结果来结束今天的教程,并讨论该方法的一些局限性和缺点。
让我们继续开始使用 OpenCV OCR!
==========================================================================
根据您使用的是 Ubuntu 18.04 还是 Ubuntu 17.04 及更早版本,用于在 Ubuntu 上安装 Tesseract 4 的确切命令会有所不同。
要检查您的 Ubuntu 版本,您可以使用 lsb_release 命令:
lsb_release -a
如您所见,我正在运行 Ubuntu 18.04,但您应该在继续之前检查您的 Ubuntu 版本。
对于 Ubuntu 18.04 用户,Tesseract 4 是主 apt-get 存储库的一部分,通过以下命令安装 Tesseract 变得非常容易:
sudo apt install tesseract-ocr
如果您的系统上安装了 Homebrew,macOS 的“非官方”软件包管理器,那么在 macOS 上安装 Tesseract 很简单。 只需运行以下命令,Tesseract v4 就会安装在您的 Mac 上:
brew install tesseract
如果您已经在 Mac 上安装了 Tesseract(例如,如果您遵循了我之前的 Tesseract 安装教程),您首先要取消原始安装的链接:
brew unlink tesseract
初识OCR,Tesseract的安装与使用_AI浩-优快云博客
然后你可以运行安装命令。
一旦你在你的机器上安装了 Tesseract,你应该执行以下命令来验证你的 Tesseract 版本:
tesseract -v
只要您在输出中的某处看到 tesseract 4,您就知道您的系统上安装了最新版本的 Tesseract。
然后,我们将使用 pip 安装 Pillow,这是一个对 Python 更友好的 PIL 版本,然后是 pytesseract 和 imutils:
$ pip install pillow
$ pip install pytesseract
$ pip install imutils
了解 OpenCV OCR 和 Tesseract 文本识别
=========================================================================================
现在我们已经在我们的系统上成功安装了 OpenCV 和 Tesseract,我们需要简要回顾一下我们的管道和相关命令。
首先,我们将应用 OpenCV 的 EAST 文本检测器来检测图像中文本的存在。
EAST 文本检测器将为我们提供文本 ROI 的边界框 (x, y) 坐标。
我们将提取这些 ROI 中的每一个,然后将它们传递给 Tesseract v4 的 LSTM 深度学习文本识别算法。 LSTM 的输出将为我们提供实际的 OCR 结果。
最后,我们将在输出图像上绘制 OpenCV OCR 结果。 但在我们真正开始我们的项目之前,让我们简要回顾一下 Tesseract 命令(它将被 pytesseract 库在后台调用)。
在调用 tessarct 二进制文件时,我们需要提供许多标志。三个最重要的是 -l 、 --oem 和 --psm 。
-l 标志控制输入文本的语言。我们将在此示例中使用 eng(英语),但您可以在此处查看 Tesseract 支持的所有语言。
–oem 参数或 OCR 引擎模