markdown排版好像不支持。。。
## 1、简介
Tesseract,一款由HP实验室开发由Google维护的开源OCR(OpticalCharacterRecognition,光学字符识别)引擎,特点是开源,免费,支持多语言,多平台。
最初Tesseract是用C语言写的,在1998年改用C++。
github 地址:tesseract-ocr/tesseract
## 2、mac 安装
* tesseract 安装:
brew install tesseract (默认包含英文语言包)
tesseract 安装路径:/usr/local/Cellar/tesseract/4.0.0_1/bin/tesseract
linux 安装:tesseract 4.0 编译安装(CentOS) 4.1.0版本
linux 下目录:安装路径 /usr/local/tesseract 语言包 /usr/share/tesseract
/usr/local/tesseract/bin/tesseract
修改 tesseract 路径:pytesseract.py文件下的 tesseract_cmd,改为/usr/local/tesseract/bin/tesseract
* tesseract 语言包安装:brew install tesseract-lang (也可只安装中午语言包 chi_sim)
语言包 git 地址:tesseract-ocr/tessdata
tesseract 语言包存放路径: /usr/local/share/tessdata/
* 安装测试:
tesseract -v
## 3、基本用法
命令说明
tesseract imagename outputbase [-l lang] [--psm pagesegmode] [configfile...]
tesseract 图片名 输出文件名 -l 字库文件 -psm pagesegmode 配置文件
例如:
tesseract test.jpg result -l eng --psm 7 nobatch
-l eng 表示用英文文字库(默认使用英文。如需要下载中文字库文件,解压后,存放到tessdata目录下去,字库文件扩展名为 .raineddata 简体中文字库文件名为: chi_sim.traineddata,命令为:chi_sim)
-psm 7 表示告诉tesseract test.jpg图片是一行文本 这个参数可以减少识别错误率. 默认为 3
configfile 参数值为tessdataconfigs 和 tessdatatessconfigs 目录下的文件名.
[] 中配置是可选配置。
*psm 参数说明*
**egg**:
## 4、python 接口封装
python 接口依赖包安装
pip install pytesseract
处理结果:
## 5、图片预处理
### 5.1 设置模板匹配目标图像
#### 实例化SIFT
采用SIFT算法计算模板与目标图像的特征点并匹配,如果匹配度过小则拒绝识别图片。(如身份证内容识别上传的目标图像为非身份证照片)计算出图像的关键点和sift特征向量
#### KNN
使用K最邻近算法计算目标图像与模板图像的匹配点
#### 去噪:
过滤掉匹配距离较为相近的点
#### 偏移矫正:
利用单应性匹配解决目标图像相对模板图像间拉伸、扭曲、偏移,旋转、倾斜的问题。
#### 缩放:
对目标图像进行仿射转换
处理后的目标图像与原图对比:
### 5.2 文字识别
利用模板匹配算法,确定票据号码、票据状态的位置
即利用matchTemplate函数进行模板匹配,找到票据号码、票据状态等文字的位置后,由于电子票据是刚体,所以上面文字的位置是固定的,所以根据位置信息即可找到需要识别的文字的位置,并将其截取出来
#### 待搜索模板
#### 灰度:
将目标图像及模板灰度处理
#### 模板匹配:
模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域,并得到目标图像最佳位置的坐标,从而计算出待识别区域坐标
#### 目标区域:
以下为待识别区域”票据号码“
#### 识别:
二值化:将整个待识别图像呈现出明显的黑白效果的过程。
结果如下:
#### 文字转换:
利用tesseract 将图片识别为文字
识别结果如下:
## 6、样本训练
## 7、问题:
1、tesseract 训练类容暂时未加入
2、识别率需优化提升
## 8、相关代码:
## 9、相关连接:
SIFT 算法介绍:SIFT特征提取分析_人工智能_Rachel Zhang的专栏-CSDN博客
模板匹配介绍:OpenCV---模板匹配matchTemplate - 山上有风景 - 博客园
自适应阈值介绍:https://www.jianshu.com/p/146d419639b7
识别示例: