近期,Adrian Rosebrock 发布一篇教程,介绍了如何使用 OpenCV、Python 和 Tesseract 执行文本检测和文本识别。从安装软件和环境、项目流程、review 代码、实验结果,到展示局限、提出建议,这篇教程可以说十分详细了。机器之心对该教程进行了摘要编译介绍。英语好可以参考 https://www.pyimagesearch.com/2018/08/20/opencv-text-detection-east-text-detector/
本教程将介绍如何使用 OpenCV OCR。我们将使用 OpenCV、Python 和 Tesseract 执行文本检测和文本识别。
之前的教程展示了如何使用 OpenCV 的 EAST 深度学习模yi型执行文本检测(参见 https://www.pyimagesearch.com/2018/08/20/opencv-text-detection-east-text-detector/)。使用该模型能够检测和定位图像中文本的边界框坐标。
那么下一步就是使用 OpenCV 和 Tesseract 处理每一个包含文本的图像区域,识别这些文本并进行 OCR 处理。
本教程将介绍如何构建自己的 OpenCV OCR 和文本识别系统!
使用 Tesseract 进行 OpenCV OCR 和文本识别
为了执行 OpenCV OCR 和文本识别任务,我们首先需要安装 Tesseract v4,包括一个用于文本识别的高度准确的深度学习模型。
然后,我将展示如何写一个 Python 脚本,使其能够:
- 使用 OpenCV EAST 文本检测器执行文本检测,该模型是一个高度准确的深度学习文本检测器,可用于检测自然场景图像中的文本。
- 使用 OpenCV 检测出图像中的文本区域后,我们提取出每个文本 ROI 并将其输入 Tesseract,从而构建完整的 OpenCV OCR 流程!
最后,我将展示一些使用 OpenCV 应用文本识别的示例,并讨论该方法的缺陷。
下面就开始本教程的正式内容吧!
如何安装 Tesseract v4

图 1:Tesseract OCR 引擎于 20 世纪 80 年代出现,到 2018 年,它已经包括内置的深度学习模型,变成了更加稳健的 OCR 工具。Tesseract 和 OpenCV 的 EAST 检测器是一个很棒的组合。
Tesseract 是一个很流行的 OCR 引擎,20 世纪 80 年代由 Hewlett Packard 开发,2005 年开源,自 2006 年起由谷歌赞助开发。该工具在受控条件下也能很好地运行,但是如果存在大量噪声或者图像输入 Tesseract 前未经恰当处理,则性能较差。
深度学习对计算机视觉的各个方面都产生了影响,字符识别和手写字体识别也不例外。基于深度学习的模型能够实现前所未有的文本识别准确率,远超传统的特征提取和机器学习方法。Tesseract 纳入深度学习模型来进一步提升 OCR 准确率只是时间问题,事实上,这个时间已经到来。
Tesseract (v4) 最新版本支持基于深度学习的 OCR,准确率显著提高。底层的 OCR 引擎使用的是一种循环神经网络(RNN)——LSTM 网络。
安装 OpenCV
要运行本教程的脚本,你需要先安装 3.4.2 或更高版本的 OpenCV。安装教程可参考 https://www.pyimagesearch.com/opencv-tutorials-resources-guides/,该教程可确保你下载合适的 OpenCV 和 OpenCV-contrib 版本。
在 Ubuntu 上安装 Tesseract 4
在 Ubuntu 上安装 Tesseract 4 的具体命令因你使用的 Ubuntu 版本而异(Ubuntu 18.04、Ubuntu 17.04 或更早版本)。你可使用 lsb_release 命令检查 Ubuntu 版本:

如上所示,我的机器上运行的是 Ubuntu 18.04,不过你在继续操作之前需要先检查自己的 Ubuntu 版本。
对于 Ubuntu 18.04 版本的用户,Tesseract 4 是主 apt-get 库的一部分,这使得通过下列命令安装 Tesseract 非常容易:

如果你正在使用 Ubuntu 14、16 或 17 版本,那么由于依赖需求,你需要额外的命令行。
Alexander Pozdnyakov 创建了用于 Tesseract 的 Ubuntu PPA(https://launchpad.net/~alex-p/+archive/ubuntu/tesseract-ocr),大大简化了在 Ubuntu 旧版本上安装 Tesseract 4 的过程。
只需要向系统添加 alex-p/tesseract-ocr PPA 库,更新你的包定义,然后安装 Tesseract:

如果没有错误,那么你应该已经在自己的机器上成功安装了 Te

本教程详述了如何结合使用OpenCV、Python及Tesseract执行文本检测与识别,覆盖了从环境搭建、代码解析到实验结果展示的全过程。通过实例演示,深入探讨了在真实场景中应用OCR技术的技巧与挑战。
最低0.47元/天 解锁文章
783





