跳至内容。

简介

Tesseract 是一个开源的 文本识别 (OCR) 引擎,根据 Apache 2.0 许可证 提供。它可以直接使用,或者(对于程序员)使用 API 从图像中提取打印的文本。它支持多种语言。

Tesseract 没有内置的 GUI,但从 3rdParty 页面有几个可用。

安装

安装有两部分,引擎本身和语言的训练数据。

Tesseract 可从许多 Linux 发行版直接获得。该软件包通常称为 ‘tesseract’‘tesseract-ocr’ - 搜索您发行版的存储库以找到它。

超过 130 种语言和超过 35 种文字的软件包也可从 Linux 发行版直接获得。语言训练数据软件包称为 ‘tesseract-ocr-langcode’‘tesseract-ocr-script-scriptcode’,其中 langcode 是三个字母的语言代码,scriptcode 是四个字母的文字代码。

示例:tesseract-ocr-eng (英语)、tesseract-ocr-ara (阿拉伯语)、tesseract-ocr-chi-sim (简体中文)、tesseract-ocr-script-latn (拉丁文字)、tesseract-ocr-script-deva (天城文) 等。

**仅供专家使用。**

如果您正在尝试 OCR 引擎模式,则需要手动安装除 Linux 发行版中提供的语言训练数据之外的数据。

各种类型的训练数据 可在 GitHub 上找到。解压缩并将 .traineddata 文件复制到 ‘tessdata’ 目录中。确切的目录将取决于训练数据的类型和您的 Linux 发行版。可能性是 /usr/share/tesseract-ocr/tessdata/usr/share/tessdata/usr/share/tesseract-ocr/4.00/tessdata

过时 Tesseract 版本的训练数据 =< 3.02 位于另一个位置。

平台

如果 Tesseract 不适用于您的发行版,或者您想使用比他们提供的更新的版本,您可以 自己编译

Ubuntu

您只需运行以下命令,即可在 Ubuntu 上安装 Tesseract 及其开发人员工具

sudo apt install tesseract-ocr
sudo apt install libtesseract-dev

适用于 Ubuntu 用户的说明:如果 apt 无法找到该软件包,请尝试在 sources.list 文件中添加 universe 条目,如下所示。

sudo vi /etc/apt/sources.list

Copy the first line "deb http://archive.ubuntu.com/ubuntu bionic main" and paste it as shown below on the next line.
If you are using a different release of ubuntu, then replace bionic with the respective release name.

deb http://archive.ubuntu.com/ubuntu bionic universe

Debian 软件包

Raspbian 软件包

Ubuntu 软件包

Ubuntu ppa

RHEL/CentOS/Scientific Linux、Fedora、openSUSE 软件包

有关详细说明,请参见 在 OpenSuse 上安装 页面。

AppImage

说明

  1. releases 页面下载 AppImage
  2. 打开您的终端应用程序(如果尚未打开)。
  3. 浏览到 AppImage 的位置
  4. 使 AppImage 可执行
    $ chmod a+x tesseract*.AppImage
  5. 运行它
    ./tesseract*.AppImage -l eng page.tif page.txt

AppImage 兼容性

包含的训练数据文件

snap

对于 snapd 支持的发行版,您也可以运行以下命令来安装 tesseract 构建的二进制文件(没有安装 snapd?

sudo snap install --channel=edge tesseract

训练数据目前不随 snap 软件包一起提供,必须手动放置到 ~/snap/tesseract/current 中。

macOS

您可以使用 MacPortsHomebrew 安装 Tesseract。

Tesseract API 的 macOS 包装器也提供在 Tesseract macOS

MacPorts

要安装 Tesseract,请运行此命令

sudo port install tesseract

要安装任何语言数据,请运行

sudo port install tesseract-<langcode>

可在 MacPorts tesseract 页面 上找到可用 langcode 的列表。

Homebrew

要安装 Tesseract,请运行此命令

brew install tesseract

然后可以使用 brew info tesseract 找到 tesseract 目录,例如 /usr/local/Cellar/tesseract/3.05.02/share/tessdata/

Windows

适用于 Tesseract 3.05、Tesseract 4 和 Tesseract 5 的 Windows 安装程序可在 Tesseract at UB Mannheim 获取。这些包括训练工具。有 32 位和 64 位安装程序可用。

从我们的 下载 页面可以获取适用于 Windows 的 旧版 3.02 的安装程序。这包括英语训练数据。如果您想使用另一种语言,请 下载相应的训练数据,使用 7-zip 解压缩它,并将 .traineddata 文件复制到 ‘tessdata’ 目录中,可能是 C:\Program Files\Tesseract-OCR\tessdata

要从任何位置访问 tesseract-OCR,您可能需要将 tesseract-OCR 二进制文件所在的目录添加到 Path 变量中,可能是 C:\Program Files\Tesseract-OCR

专家还可以从 Appveyor 持续集成 的构建工件中获得使用 Visual Studio 构建的二进制文件。

Cygwin

tesseract-ocr 的发布版本 >= 3.02 Cygwin 的一部分。

最新版本是 4.1.0。请参见 公告

MSYS2

安装 tesseract-OCR

 pacman -S mingw-w64-{i686,x86_64}-tesseract-ocr

以及数据文件

 pacman -S mingw-w64-{i686,x86_64}-tesseract-data-eng

在上面的命令中,可以使用支持语言的 ISO 639 三字母语言代码 替换 “eng”。要查看可用语言包的列表,请使用

  pacman -Ss tesseract-data

其他平台

Tesseract 也可能在更多奇特的平台上运行。您可以尝试 自己编译,或者查看 使用 Tesseract 的其他项目 的列表。

运行 Tesseract

Tesseract 是一个命令行程序,因此首先打开一个终端或命令提示符。命令的使用方式如下

  tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]

因此,对名为 ‘myscan.png’ 的图像进行 OCR 并将结果保存到 ‘out.txt’ 的基本用法将是

  tesseract myscan.png out

或者使用德语执行相同的操作

  tesseract myscan.png out -l deu

它甚至可以同时使用多种语言的训练数据,例如英语和德语

  tesseract myscan.png out -l eng+deu

Tesseract 还包括一个 hOCR 模式,它生成一个包含每个单词坐标的特殊 HTML 文件。可以使用 Hocr2PDF 等工具使用它来创建可搜索的 pdf。要使用它,请使用 ‘hocr’ 配置选项,如下所示

  tesseract myscan.png out hocr

您还可以直接从 tesseract 创建可搜索的 pdf(版本 >= 3.03)

  tesseract myscan.png out pdf

有关各种选项的更多信息,请参见 Tesseract 手册页

其他语言

Tesseract 已针对 多种语言 进行训练,请在 Tessdata 存储库 中检查您的语言。

它还可以进行训练以支持其他语言和文字;有关更多详细信息,请参见 TrainingTesseract

开发

Tesseract 也可以在您自己的项目中使用,根据 Apache 许可证 2.0 的条款。它具有功能齐全的 API,并且可以针对包括 Android 和 iPhone 在内的各种目标进行编译。有关使用它的示例,请参见 3rdParty 页面。请注意,到目前为止,为 Mac 开发的 3rdParty Tesseract OCR 项目 很少(唯一的一个是 Tesseract macOS.md),尽管有一些在线 OCR 服务可以在 Mac 上使用,这些服务可能使用 Tesseract 作为其 OCR 引擎。

此外,它是自由软件,因此如果您想参与并提供帮助,请务必这样做!如果您发现错误并自行修复,最好的做法是将补丁附加到您在 问题列表 中的错误报告中。

支持

首先阅读 文档,特别是 常见问题解答,查看您的问题是否已在那里解决。如果没有,请搜索 Tesseract 用户论坛Tesseract 开发人员论坛,如果您仍然找不到所需的信息,请在那里询问我们。