如何使用 OCR 在 Linux 命令行上将图像转换为文本如何使用 OCR 在 Linux 命令行上将图像转换为文本如何使用 OCR 在 Linux 命令行上将图像转换为文本如何使用 OCR 在 Linux 命令行上将图像转换为文本
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何使用 OCR 在 Linux 命令行上将图像转换为文本

顶级光学字符识别 (OCR) 软件在过去可能很昂贵,但现在可以直接从 Linux 终端命令行免费获得!本文将帮助您设置并开始使用 OCR。

什么是 OCR?

OCR 的缩写代表光学字符识别:一种软件程序和系统,计算机可以通过它读取图像中的文本。想象一下,为《指环王》一书中您最喜欢的段落拍张照片。

你想在别处引用它,但你只有一张照片。 OCR 软件可以通过解析照片/图像并找到其中的所有文本来帮助您。

然后,OCR 软件将为发现的每个字母分析图像中的图形点,并将其翻译/转换为计算机可以使用的实际文本,例如在文字处理器中。

虽然有许多可用的 OCR 软件,有些是付费的,有些是免费的,但它们的质量并不完全相同。有些包会提供较差的质量结果,其他包会与照片或图像中看到的文字紧密对齐。

一般来说,标准书籍(或 Internet 网页打印)效果很好,并且在所有情况下都应该产生合理的质量结果,因为字体笔直、统一且在单一角度下,前提是原始照片或扫描件合理质量。

同样要记住的是,即使是高级软件包也可能会遇到质量差或图像模糊的问题,并且大多数软件包可能会遇到不同的手写风格等问题。其他挑战可能包括文本与图像或照片混合,或方向不同(例如向左- 同一页面内的右侧以及自上而下或倾斜的文本)。

这使得选择 OCR 包并可能支付费用成为一个漫长的过程,尤其是当您想要测试和评估每个包时。

对于那些使用 Linux 的人来说,有一条很好的替代途径。一个免费的、高质量的 OCR 软件,基于 LSTM 神经网络,支持 unicode (UTF-8),默认情况下可以识别 100 多种语言。它还支持许多输出格式,如 HTML、PDF 和纯文本。

无需再费周折;欢迎使用 Tesseract OCR!

安装 Tesseract OCR

要在基于 Debian/Apt 的 Linux 发行版(如 Ubuntu 和 Mint)上安装 Tesseract OCR,请执行以下操作:

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

要在 RHEL 和 Centos 上安装 Tesseract OCR,请执行以下操作:

sudo yum install epel-release
sudo yum install tesseract-devel leptonica-devel

要在 Fedora 上安装 Tesseract OCR,请执行以下操作:

sudo yum install tesseract-devel leptonica-devel

要在 OSX 上安装 Tesseract OCR,请执行以下操作:

brew 安装 tesseract

让我们 OCR!

我们将使用包含以下文本的简单图像:

要转换此图像,您所要做的就是打开终端提示符,将目录(使用 cd your_directory_with_images 命令)更改为包含图像的目录(例如,如果您创建了一个目录 images在您的主目录 (~/images) 中,您可以简单地使用 cd ~/images),并对文件进行 OCR:

tesseract -l eng input_for_ocr.png output_from_ocr
cat output_from_ocr.txt 

非常简单明了。正如我们所见,输出是完美的。

我们使用 -l eng 选项指定英语。您可以查看 tesseract 手册 (man tesseract) 以了解任何其他可用的语言代码。

我们还指定了输入图像 (input_for_ocr.png) 以及没有任何文件扩展名的输出文件 output_from_ocr,这将使用默认的纯文本 .txt 格式。

我们还可以使用稍长的命令将输出格式更改为 PDF,该命令在末尾简单地指定输出格式:

tesseract -l eng input_for_ocr.png output_from_ocr pdf

通过添加 pdf 后缀,使用的输出格式为 PDF。当我们打开 PDF 文件 (output_from_ocr.pdf) 时,我们可以看到可以选择和复制/粘贴文本,就像对单词 Readers! 所做的一样:

换句话说,PDF 文件包含基于文本和可选择的数据,而不是图形(因此不可选择)信息。伟大的!

如果我想对 PDF 文件进行 OCR 怎么办?

有时您可能会收到一个 PDF 文件,尽管 PDF 格式支持页面内的实际文本,但它仅包含带文本的图像。这可能会令人沮丧,因为复制和粘贴将不可用。您也可以使用一个小的解决方法对这些页面进行 OCR。

您首先需要将 PDF 文件转换为图像(每页一张图像),然后将各个页面进行 OCR 转换为文本。多一点工作,但仍然比手动重新输入文本节省更多时间。

有关将 PDF 文件转换为图像的简单步骤,甚至是脚本和自动转换多个 PDF 文件的步骤,您可以阅读我们的文章从 Linux 命令行将 PDF 转换为图像!

包起来

在本文中,我们探索了 Tesseract,这是适用于 Linux 的顶级免费命令行 OCR 引擎。我们看到了如何使用简单的命令轻松地将图像转换为文本。

我们还查看了将图像转换为基于文本的 PDF 文件,并参考了一篇文章,您可以在其中找到有关如何将基于图像的 PDF 文件预转换为图像的信息,以便随后可以使用此处所示的 OCR 方法将它们转换为文本。

尽情享受吧!

©2015-2025 艾丽卡 support@alaica.com