pytesseract簡要解析
大小:0.5 MB 人氣: 2017-10-11 需要積分:1
Python語言中,pytesseract是用于驗證碼、字符識別的常用model。研究OCR期間,接觸到這個模塊。深究其源碼,才明白,這個庫是如此簡單。
安裝:
首先安裝依賴:PIL、Image、tesseract-ocr,然后:
pip install pytesseract
pytesseract在官網上說了自己是個wrapper,真正干活的是tesseract-ocr,即tesseract光學字符識別引擎。所以,這個模塊就是個接口。
Tesserarct識別引擎
esseract-ocr是Google在維護的一個開源項目,本體是HP實驗室在1993年完成的,功能強大。(關于更多,見結尾提示。)
在Tesseract的世界里,有且只有一條命令,展示了其強大功能:
Usage:
tesseract imagename|stdin outputbase|stdout [options…] [configfile…]
舉例來說,對一張需要識別的chinese.png圖片:

在cmd/terminal輸入:tesseract chinese.png output -l chi_sim (*式)
就可以得到如下output.txt文本:

如此簡單純粹,缺點就是單線程。
pytesseract模塊
這是一個Wrapper:
Python-tesseract is a python wrapper for google’s Tesseract-OCR
所以,其底層就是Tesseract識別引擎,只是用Python語言來封裝罷了。那么,封裝的過程是怎樣的呢?

我知道這5步中的關鍵方法(functions)在各位讀者眼里并不是那么通俗易懂。BUT!認真的讀者只要去看pytesseract模塊的源碼(only 202 lines)就能知道這些函數。
Anyway,請看第3步,在run_tesseract()函數“拼接好tesseract本地調用命令”。什么是本地調用命令?
還記得上面的(*式)嘛?
tesseract chinese.png output -l chi_sim
再看第4步,“執行調用命令”,就是把(*式)放在cmd/terminal里。
就這樣,對于上述chinese.png,也可以得到output.txt文件了。
至此,就是為什么我說“pytesseract是這么簡單的model”……
結語
我笑了…是的,只是開心而已!第一次解析Python的Model,以前pip install model’name 的時候,內心覺得官方源碼一定很難,現在看倒未必!
此后,希望大家多多閱讀源碼,沒有那么難的。
?
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%