Ubuntu 17.10下Tesseract 3.05生成.tsv输出失败求助
解决Tesseract 3.05在Ubuntu 17.10输出TSV格式的问题
看起来你是因为命令参数用错了,导致系统把TSV相关参数当成了待读取的输入文件,才出现这个问题。我来帮你一步步解决:
1. 先搞对Tesseract 3.05的TSV输出命令格式
Tesseract 3.05并不是直接把tsv作为参数来指定输出格式的,而是通过配置参数启用TSV输出。正确的命令模板应该是这样的:
tesseract [输入图像路径] [输出文件前缀] -l [语言代码] -c tessedit_create_tsv=1
举个实际例子,如果你要识别scan.jpg,输出前缀设为result,用英文识别:
tesseract scan.jpg result -l eng -c tessedit_create_tsv=1
执行后会自动生成result.tsv文件,里面就包含了你需要的置信度等详细信息,而不是默认的out.txt。
2. 分析你出错的原因
你提到系统把tsv参数当成待读取文件,大概率是你用了错误的命令写法,比如类似这样:
tesseract scan.jpg out.txt tsv
这种写法里,Tesseract会把第三个参数tsv当成第二个输入文件来读取(它默认支持多输入文件),但这个文件不存在,所以它就 fallback 到默认输出格式,把结果写到了out.txt里。
3. 确认你的Tesseract版本真的是3.05
先检查当前调用的Tesseract版本是不是你编译的3.05:
tesseract --version
如果输出不是3.05.x,说明系统还在调用仓库里的旧版本。这时候你需要:
- 先卸载仓库版:
sudo apt remove --purge tesseract-ocr - 重新编译安装3.05源码(确保切换到正确的版本分支):
安装完成后再用git clone https://github.com/tesseract-ocr/tesseract.git cd tesseract git checkout 3.05.01 # 切换到3.05的稳定发布版 ./autogen.sh ./configure make sudo make install sudo ldconfigtesseract --version确认版本。
4. 测试验证
找一张简单的测试图片,执行正确的命令,比如:
tesseract test.png my_test_output -l eng -c tessedit_create_tsv=1
执行完后看看当前目录下是不是生成了my_test_output.tsv,打开它就能看到包含置信度的结构化数据了。
内容的提问来源于stack exchange,提问作者sinecode
相关产品推荐
相关产品推荐

