Tesseract是开源的OCR(光学字符识别)引擎,支持多语言文本识别。
下载与安装
- 下载地址
- 官方仓库:github.com/tesseract-o…
- 官方下载渠道:github.com/UB-Mannheim…
- 官网下载很慢,补充一个夸克网盘下载地址:pan.quark.cn/s/492234c7f… 提取码:8esQ
- 安装
- 按提示进行安装,安装时要记得选上中文语言包:Chinese(Simplified)和Chinese(Simplified vertical)。(简体中文及其竖版)
- 验证安装
- 在命令提示符中输入
tesseract -v,如果输出版本号,则说明安装成功。
- 将安装目录添加到系统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文件,这个文件是由图片生成的,图中的文字可自由复制编辑。
原图片:
转化效果:
输出网页格式文件
需要在末尾添加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仅检测方向和脚本,不进行 OCR1自动页面分割,假设图像为单列文本2自动页面分割,假设图像为单块垂直对齐文本3自动页面分割(不做方向检测),适合单一文本块4将页面视为单个文本块的行5将页面视为单个文本块的竖排文本6将页面视为单个文本块的混排文本7将页面视为单行文本8将页面视为单个单词9将页面视为单个圈出的单词10将页面视为单个字符11稀疏文本12稀疏文本(带 OSD)13原始图像的行检测,不进行 OCR