放在前面:本文主要参考了这篇知乎专栏-Gemfieldphp
时间有限,长话短说,主要是放一些资源,方便查找。git
1.预处理
对于中文识别来讲,不作预处理简直惨不忍睹。主要手段为github
- binarize and de-noise image;
- 高斯模糊之类的blur算法;
- 缩放图像(fix text size,e.g. 12 pt should be ok);
- 锐化(Sharpening effect);
- fix DPI (if needed) 300 DPI is minimum;
- try to fix illumination of image (e.g. no dark part of image);
- contrast, brightness... it tends to work best when there is just black & white, i.e. no greyscale;
- 去掉图片中无关的线条;
- 高对比度;
详细的官方教程算法
再放一个有人制做的相关工具textcleaner ,这里有一小段介绍工具
2. 识别中文
下载中文语言包,简体中文的代号为chi_sim,每种语言在新时代的tesseract都应该有3种语言包:fast版、best版、raw版。fast版是考量了速度,并对准确度作了必定的妥协,apt安装的时候下载的语言包模型正是fast版。raw版是混合了新时代的LSTM模型和旧时代的模型,所以当使用raw版的时候,在命令行上能够指定 --oem 2。学习
我尝试使用best时报错了。。先把连接放着吧。spa
3. 训练
Tesseract 4.0 使用了LSTM,估计训练完后效果不错。能够先参考上面的原文章操做,这里先不写了等后面尝试了再来写。.net
小建议
- 使用PNG格式而不是JPEG格式,
- 若是先检测后分割两步走,注意分割后的切片可能很小,须要放缩到300dpi以上
- 若是效果不满意,能够考虑试试深度学习模型,先放个推文,后面时间在总结一下
- 再放一个介绍文本检测识别数据集的博客
(完)命令行