Windows 7 中的命令行 OCR

Phe*_*nom 5 windows-7 64-bit software-rec ocr command-line

有哪些命令行 OCR 实用程序可以在 64 位 Windows 7 中运行?

jwa*_*ell 4

我认为Tesseract是最好的(免费)基于命令行的 OCR 软件。不幸的是,似乎没有可用的 Windows 7 64 位二进制文​​件,因此您必须自己编译它;以下是执行此操作的说明(摘自Tesseract FAQ 页面上的评论):

  1. 下载超正方体 2.04。打开包装。在此示例中,我已解压到 C:\projects\tesseract-2.04。Windows 7 仍然无法直接识别 .tar.gz。我的建议是获取 7-Zip 的副本。

  2. 下载您所需的语言文件。我需要德语和英语。我将它们解压到 C:\projects\tesseract-2.04\tessdata 的 tessdata 子目录中。

  3. 安装 libtiff。在我的(64 位)系统上,建议的安装目录是 C:\Program Files (x86)\GnuWin32?。该目录下有一堆子目录,其中包含我们编译具有 tiff 支持的 tesseract 所需的文件,即 include、bin 和 lib。

  4. 将 C:\Program Files (x86)\GnuWin32?\bin 添加到 PATH 环境变量,以便输出 tesseract.exe 可以找到 libtiff dll。重新开始。

  5. 打开vc解决方案(tesseract.sln)

  6. 将解决方案配置更改为“发布”模式。请注意,如果您稍后更改回调试模式,则需要再次设置以下所有内容...

  7. 在解决方案资源管理器中,右键单击解决方案节点(解决方案“tesseract”),然后单击“属性”。更改为“配置属性”,然后从窗口顶部的下拉列表中选择“发布”配置。导航至:工具 -> 选项 -> 项目和解决方案 -> VC++ 目录 这里我们将添加子目录 lib 的完整路径并包含 libtiff 安装中的内容,以便 VC 可以找到所需的标头 (.h) 和静态库(.lib) 文件。在此示例中,它们是: $(ProgramFiles?)\GnuWin32?\include $(ProgramFiles?)\GnuWin32?\lib 因为我正在使用环境变量。不过,我可以将它们写为 C:\Program Files (x86)\GnuWin32?\include。将“显示目录”下拉列表更改为“包含文件”。添加以下内容: $(ProgramFiles?)\GnuWin32?\include 现在将“显示目录”下拉列表更改为“库文件”。添加以下内容:$(ProgramFiles?)\GnuWin32?\lib

  8. 现在打开 tesseract 项目(不是解决方案)的项目属性窗口。在解决方案资源管理器中,右键单击 tesseract 项目,然后单击属性。将可怕的选项列表导航到“配置属性”->“C/C++”->“预处理器”,并将 HAVE_LIBTIFF 添加到“预处理器定义”列表中。这会导致代码中启用一堆#include。

  9. 您还想添加“附加依赖项”。转到项目属性的“其他依赖项”部分并添加 libtiff.lib。

  10. 构建解决方案。观察错误列表。如果出现一堆 LNK2109 错误,则意味着链接器找不到 tesseract 引用。您缺少对 libtiff 中的路径之一的引用。如果您收到提及 mt.exe 的错误,则可能是在 sdk 中遇到了错误。再次尝试构建。 有关详细信息,请参阅 http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=106634 。

如果/当解决方案成功构建时,您将在与 tesseract 解决方案文件相同的目录中拥有一个 tesseract.exe 文件。将多页压缩 tiff 拖到此处并尝试运行 tesseract。例如,如果您的 tiff 名为 in.tif 并且您想要将文本输出到 out.txt,并且文档的语言是德语,那么您的命令行将如下所示:

tesseract.exe in.tif out -l deu 输出文件将由 tesseract 附加 .txt。如果您只是翻译英文文本,那么您可以省略 -l 选项,因为如果您不指定任何内容,tesseract 会假定“eng”。如果你的 tif 文件的文件扩展名为 .tiff,那么 tesseract 就会这样报错:

C:\projects\tesseract-2.04>tesseract.exe in.tiff out -l deu Tesseract 开源 OCR 引擎 name_to_image_type:Error:无法识别的图像类型:in.tiff IMAGE::read_header:Error:无法读取此图像类型: in.tiff tesseract.exe:错误:读取文件失败:in.tiff

希望(手指交叉,呵呵)您现在已经在 C:\projects\tesseract-2.04 中获得了 OCR 输出的 txt 文件。