You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Tesseract的tessedit_char_whitelist时,如何正确保存结果到output.txt?

解决Tesseract命令参数错误的问题

我来帮你理清这个问题——你碰到的问题本质是Tesseract命令的参数顺序和语法用错了,咱们一步步来修正:

首先,先明确Tesseract的基础命令结构:

tesseract <输入图片路径> <输出目标> [配置选项]

这里的<输出目标>有两种用法:要么是输出文件的前缀名(会自动生成.txt后缀),要么是stdout(表示输出到标准控制台)。

你的错误命令里,最后多了TextOutput这个多余的参数,导致Tesseract误解了你的意图,它会尝试把TextOutput当成某个输入文件或者错误的参数来处理,自然就会出现“试图打开输出文件”的异常。

正确的两种用法:

1. 直接输出到文件(推荐,最简单)

不需要用stdout,直接指定输出文件的前缀,同时加上字符白名单配置:

tesseract image.jpg TextOutput -c tessedit_char_whitelist=ABCDEFGHIJKLMNOPQRSTUVWXYZ%/-15

执行后会自动生成TextOutput.txt文件,里面就是识别后的文本内容。

2. 使用stdout输出并重定向到文件

如果你需要通过标准输出做额外处理(比如管道传递给其他命令),可以用stdout,然后通过重定向符号>把内容写入文件:

tesseract image.jpg stdout -c tessedit_char_whitelist=ABCDEFGHIJKLMNOPQRSTUVWXYZ%/-15 > TextOutput.txt

这个命令会把识别结果先输出到控制台,再通过>重定向到TextOutput.txt里。

小提示:

  • 字符白名单里的特殊字符(比如-)尽量放在最后,避免被Tesseract误判为选项的一部分,你当前的写法已经做到了,没问题。
  • 如果是较旧版本的Tesseract,可能要求配置选项-c放在输出目标之前,但最新版本已经支持放在后面,不过保险起见也可以写成:
    tesseract image.jpg -c tessedit_char_whitelist=ABCDEFGHIJKLMNOPQRSTUVWXYZ%/-15 TextOutput
    

内容的提问来源于stack exchange,提问作者Luka Vlaskalic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:57:12