OCR1:開源庫

OCR Optical Character Recognition,光學字符識別)是指電子設備(例如掃描儀或數碼相機)檢查紙上打印的字符,經過檢測暗、亮的模式肯定其形狀,而後用字符識別方法將形狀翻譯成計算機文字的過程。優秀的開源OCR軟件包括:html

  • Tesseract:本來由惠普開發的圖像識別類庫tesseract-ocr已經更新到2.04, 就是最近Google支持的那個OCR。原先是惠普寫的,如今Open source了。
  • OCRopus:Ocropus的(TM)是一個先進的文件分析和OCR系統,採用可插入的佈局分析,可插入的字符識別,天然語言統計建模和多語言支持功能。
  • Cuneiform:Cuneiform 是一個 OCR 文字識別系統的商標,最開始是由Cognitive 技術所開發的運行在 Windows 下的軟件。而這個項目是該軟件在 Linux 系統下的移植版本。
  • GOCR:GOCR 是一個開源的OCR光學識別程序。
  • OCRFeeder:OCRFeeder 是 GNOME 桌面下的一個開源 OCR 套件。可將紙質或者圖形文檔轉成電子文檔。
  • Lios:linux-intelligent-ocr-solution (Lios) 是Linux下一個開源的 OCR 解決方案,可將打印的文檔轉成可編輯的文本。

雲服務商提供服務:python

OpenCV VS tesseractlinux

  • opencv:專一機器視覺
  • tesseract:專一字符識別

因爲tesserocr在windows環境下會出現各類不兼容問題,而且與pycharm虛擬環境不兼容等問題,因此在windows系統環境下,選擇pytesseract模塊進行安裝 ios

Tesseractgit


 Tesserocr 是Python的一個OCR庫,但實際上是對tesseract作的一層Python API的封裝,因此他的核心是tesseract。所以,在安裝tesserocr以前,咱們須要先安裝tesseract。 實際使用tesseract ocr也有兩種方式:1- 動態庫方式 libtesseract  2  - 執行程序方式 tesseract.exegithub

安裝過程:segmentfault

  • 在Windows下,首選須要下載tesseract,它爲tesserocr提供支持,在「https://digi.bib.uni-mannheim.de/tesseract/」 ,而後選擇3.05.02版本進行下載。其中文件名中帶有 dev 的爲開發版本,不帶 dev 的爲穩定版本,能夠選擇下載不帶 dev 的版本,例如能夠選擇下載tesseract-ocr-setup-3.05.02-20180621.exe
  • 若是不是作英文的圖文識別,還須要下載其餘語言的識別包  https://github.com/tesseract-ocr/tessdata 下載

安裝Tesseractwindows


  • 下載Tesseract-OCR引擎,注意要3.0以上才支持中文哦,按照提示安裝就行。
  • 既然是要訓練中文,記得勾選 additional language data,以下圖:
  • 找到中文簡體和中文繁體,按需勾選,而後點下一步。能夠先不勾選,由於這樣直接下載語言的包實在太慢。能夠從網頁上直接下載語言包,而後等程序安裝好後,放入安裝目錄下tessdata目錄下面,以下圖:ide

配置:佈局

  • 在環境變量的系統變量和我的用戶的PATH,把tesseract-ocr的安裝路徑(如 C:\Program Files (x86)\Tesseract-OCR;)添加進去
  • 在windows系統你還須要將testdata目錄也加入環境變量,TESSDATA_PREFIX=C:\Program Files (x86)\Tesseract-OCR\tessdata

驗證安裝:

  • 打開命令終端,輸入:tesseract -v,能夠看到版本信息

落地驗證:

  • 直接下載:https://raw.githubusercontent.com/Python3WebSpider/Testtess/master/image.png 而後,將圖片下載下來並保存爲image.png,而後使用tesseract命令進行測試
  • 命令:tesseract image.png 1    (image.png 表明待識別的源文件,1表明輸出文件名,默認輸出格式是txt文件格式!)

 

python用tesseract-ocr作圖像識別


  須要導入兩個庫,這是別人寫好的封裝好的庫文件。

  • 須要用到兩個庫:pytesseract和PIL
  • 還須要安裝識別引擎tesseract-ocr

Python-tesseract: 是Tesseract OCR引擎的Python封裝類。可以讀取任何常規的圖片文件(JPG, GIF ,PNG , TIFF等)並解碼成可讀的語言。在OCR處理期間不會建立任何臨文件

PIL (Python Imaging Library):是 Python 中最經常使用的圖像處理庫。

python對圖像的處理比較常見的是用 pytesseract 識別驗證碼,要安裝pytesseract庫,必須先安裝其依賴的 PIL 及 tesseract-ocr,其中PIL爲圖像處理庫,然後面的tesseract-ocr則爲google的ocr識別引擎。

  • 命令:pip install pillow   目前PIL的官方最新版本爲1.1.7,支持的版本爲python 2.5, 2.6, 2.7,並不支持python3,經查詢python3.X用pillow代替,進入DOS命令行窗口,敲入如下代碼
  • 命令:pip install pytesseract

示例代碼:

import pytesseract from PIL import Image as img text = pytesseract.image_to_string(img.open('image.png')) print(text)

 

示例結果:

帶中文圖片示例(示例圖片是從百度圖片上下載的):

 中文效果並不理想,下一節介紹訓練過程

相關連接:


參考資料:


相關文章
相關標籤/搜索