详解Tesseract之安装及基本使用
前言
现在图像识别技术非常普遍,各大云厂商也都提供了对应的OCR服务,同时随着5G的发展,对图像的识别和处理也会产生更多的应用场景。
什么是OCR
OCR技术是光学字符识别的缩写(Optical Character Recognition),是通过扫描等光学输入方式将各种票据、报刊、书籍、文稿及其它印刷品的文字转化为图像信息,再利用文字识别技术将图像信息转化为可以使用的计算机输入技术。
Tesseract基本介绍
Tesseract,是一款由HP实验室开发并由Google维护的开源OCR引擎。
它是基于Apache许可证的自由软件,自2006 年起由Google赞助开发。在2006年,Tesseract被认为是最精准的开源光学字符识别引擎之一。
Ubuntu下Tesseract安装
在ubuntu环境下安装非常简单,只需要一行命令:
sudo apt install tesseract-ocr
安装完毕后,你可以通过tesseract --version
命令行来确认版本信息
当然现在最新的已经是4.0了, 如果想使用v4.0, 可以按照以下办法来安装:
sudo add-apt-repository ppa:alex-p/tesseract-ocr
sudo apt-get update
sudo apt-get install tesseract-ocr
默认语言包是英语,当然你如果需要识别中文,则需要安装对应的中文语言包
#简体中文
sudo apt-get install tesseract-ocr-chi-sim
#繁体中文
sudo apt-get install tesseract-ocr-chi-tra
也可以从Tesseract数据目录下载,放到Tesseract-OCR项目的tessdata
文件夹里面。
Tesseract命令行参数
我们先通过tesseract --help-extra
看看帮助说明,
-v, --version
查看当前版本
--list-langs
查看有哪些可用的 "语言"
识别命令
tesseract imagename outputbase [-l lang] [--oem ocrenginemode] [--psm pagesegmode] [configfiles...]
参数说明:
参数名称 | 说明 |
---|---|
imagename | 图片文件 |
outputbase | 输出文件,也可以选择命令行输出stdout |
-psm说明:
- 0 方向和脚本检测(OSD)
- 1 使用OSD自动分页
- 2 自动分页,但没有OSD或OCR
- 3 全自动页面分割,但没有OSD(默认)
- 4 假设一列可变大小的文本
- 5 假定一个统一的垂直排列文本块
- 6 假设一个统一的文本块
- 7 将图像视为单个文本行
- 8 将图像视为一个单词
- 9 将图像视为一个圆圈中的单个单词
- 10 将图像视为单个字符
注意:在4.0多增加了三个参数选项
Tesseract实际使用
我们以兔子先生的一个测试图片为例子:
通过命令行执行:
tesseract test.jpg result --psm 4 -l chi_sim
查看reslut.txt文件
发现可以正常识别
遇到的坑
问题1 Ubuntu无法找到add-apt-repository
root@vps:~# add-apt-repository ppa:alex-p/tesseract-ocr
-bash: add-apt-repository: 未找到命令
原因:
当前环境需要安装python-software-properties
解决办法:
apt-get install python-software-properties
apt-get install software-properties-common
问题2 Tesseract无法安装中文
root@vps:~# sudo apt-get install tesseract-ocr-chi_sim
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
E: 无法定位软件包 tesseract-ocr-chi_sim
原因:
被github上的说明给误导了,tesseract-ocr-chi_sim
不是正确的名称。
解决办法:
改为tesseract-ocr-chi-sim
sudo apt-get install tesseract-ocr-chi-sim