Tesseract文字识别工具的安装及命令行使用方法

217 阅读3分钟

Tesseract是开源的OCR(光学字符识别)引擎,支持多语言文本识别。

下载与安装

  1. 下载地址
  1. 安装
  • 按提示进行安装,安装时要记得选上中文语言包:Chinese(Simplified)和Chinese(Simplified vertical)。(简体中文及其竖版)
  1. 验证安装
  • 在命令提示符中输入tesseract -v,如果输出版本号,则说明安装成功。
  1. 将安装目录添加到系统path环境变量。
  • 如:C:\Program Files\Tesseract-OCR

通过命令行进行文本识别

tesseract C:\Users\Administrator\Desktop\测试1.png stdout

默认是识别英文。使用tesseract调用光学字符识别,后边跟图片路径,再跟stdout,表示将识别结果直接输出到窗口。

如果要将识别结果保存到文件,只需要将stdout替换为文件路径即可。(注意文件名不需要带后缀,保存文件格式只能是txt)

示例:

tesseract C:\Users\Administrator\Desktop\测试1.png stdout C:\Users\Administrator\Desktop\result

如果需要识别的文字不是英文,就需要指定识别语言了。

通过以下命令可以查看支持的语言:

tesseract --list-langs

注意:list前边两个短横线,langs前边一个短横线,它们之间不加空格。

通过-l命令指定识别语言。

示例:

tesseract C:\Users\Administrator\Desktop\测试2.png stdout -l chi_sim

指定多种语言识别

如果一张图片同时包含多种语言,就需要指定多种语言进行识别了。命令是-l lang[+lang],主要语言放前边,次要语言放后边。

示例:指定用中文和英文进行识别。

tesseract C:\Users\Administrator\Desktop\测试3.png stdout -l chi_sim+eng

输出可编辑文字的pdf文件

格式为:tesseract+图片路径+pdf文件路径+pdf,需要其他参数自行添加即可。

示例:

tesseract C:\Users\Administrator\Desktop\测试1.png C:\Users\Administrator\Desktop\测试1 -l chi_sim pdf

这个命令将会对桌面上的图片测试1进行识别,指定识别语言为中文,然后在桌面生成一个名字为测试1的pdf文件,这个文件是由图片生成的,图中的文字可自由复制编辑。

原图片: 原图片.png 转化效果: 转化效果.png

输出网页格式文件

需要在末尾添加hocr命令

示例:

tesseract C:\Users\Administrator\Desktop\测试1.png C:\Users\Administrator\Desktop\测试1 -l chi_sim hocr

这个命令只是将末尾的pdf变成了hocr,这样就会在桌面生成一个hocr文件,将文件的后缀名改成html,就可以在网页中看到效果了。

输出TSV格式文件

需要在末尾添加tsv命令。这种格式会将数据用制表符进行分隔。使用与前述类似,将pdf替换成tsv即可。

页面分割模式

Tesseract的--psm参数可以用来指定页面分割模式。

  • 0仅检测方向和脚本,不进行 OCR
  • 1自动页面分割,假设图像为单列文本
  • 2自动页面分割,假设图像为单块垂直对齐文本
  • 3自动页面分割(不做方向检测),适合单一文本块
  • 4将页面视为单个文本块的行
  • 5将页面视为单个文本块的竖排文本
  • 6将页面视为单个文本块的混排文本
  • 7将页面视为单行文本
  • 8将页面视为单个单词
  • 9将页面视为单个圈出的单词
  • 10将页面视为单个字符
  • 11稀疏文本
  • 12稀疏文本(带 OSD)
  • 13原始图像的行检测,不进行 OCR