Tesseract-OCR文字識別

放在前面:本文主要參考了這篇知乎專欄-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以上
  • 若是效果不滿意,能夠考慮試試深度學習模型,先放個推文,後面時間在總結一下
  • 再放一個介紹文本檢測識別數據集的博客

(完)命令行

相關文章
相關標籤/搜索