Tesseract 将图像批量转换为可搜索的 PDF 和多个相应的文本文件

Tesseract Batch Convert Images to Searchable PDF And Multiple Corresponding Text Files

我正在使用 tesseract 将图像列表批量转换为可搜索的 PDF 以及包含 OCRd 文本的 TXT 文件。

tesseract infile outfile -l eng myconfig

这给我留下了 outfile.pdfoutfile.txt,后者包含用于分隔的页面分隔符图片之间的文字。

然而,我真正想做的是在每个图像的基础上输出多个 TXT 文件,使用相同的对应图像名称。例如,Image1.jpg.txt、Image2.jpg.txt、Image3.jpg.txt...

tesseract 是否可以选择原生支持此行为?我意识到我可以遍历图像文件列表并在每个图像的基础上执行 tesseract,但这并不理想,因为我还必须再次 运行 tesseract 以生成合并的 PDF。相反,我想同时 运行 这两个选项,整体执行时间更短。

我也意识到我可以在页面分隔符上将合并的 TXT 文件拆分成多个文本文件,但是我不得不引入不太优雅的代码来映​​射和重命名所有这些拆分文件以对应于它们的原始图像名称: 将 0001.txt 重命名为 Image1.jpg.txt...

我正在使用 Python 3 和 Linux 命令。

由于 Tesseract 本身似乎无法处理此问题,因此我刚刚开发了一个功能,可以将页面分隔符上的合并 TXT 文件拆分为多个文本文件。尽管根据我的观察,我不确定通过同时将批处理图像转换为 PDF 和 TXT(相对于 运行 它两次 - 一次用于 PDF,一次用于 TXT),Tesseract 运行得更快。

您可以准备一个循环处理输入图像并同时输出到 txtpdf 的批处理文件——效率更高,一次 OCR 操作而不是两次。然后,您可以将输出的 .txt 文件拆分为页面。

tesseract inimagefile outfile txt pdf

谢谢!

顺便说一句,我正在使用 4.1.1。

而且我发现了另一个西班牙语训练数据,它比标准数据做得更好。实际上很好地识别 "o" 字符。唯一的问题是处理时间,但我让电脑通宵工作。

老实说,我不知道新的 traineddata 文件如何更好地完成工作。我在以下位置下载: https://github.com/tesseract-ocr/tessdata_best