引言
對於簡單驗證碼及一些圖像的識別,我們需要使用pytesseract及相應的Tesseract引擎,它是開源的OCR引擎。幫助我們做一些簡單的圖像識別
當然為了更好將圖片識別,對一些像素比較低的圖片,我們會做一定的灰度處理,方便圖像識別,參考https://www.jb51.net/article/141428.htm
在圖像識別過程中我們要注意識別的圖像內容不要靠近邊框
對於單個數字我們要做相應的參數處理,否則識別不出來。
我們可以從gitHUB中獲取Tesseract引擎,及相應的培訓數據,目前已跟新到4.0版本了,下載網址:https://github.com/tesseract-ocr/tesseract/wiki
一、安裝pytesseract和PIL
PIL全稱:Python Imaging Library,python圖像處理庫,這個庫支持多種文件格式,並提供了強大的圖像處理和圖形處理能力。
由於PIL僅支持到Python 2.7,所以在PIL的基礎上創建了Pillow庫,支持最新Python 3.x。
1、pip命令安裝
pip install pytesseract
pip install Pillow
2、使用pycharm編輯器安裝,如下操作步驟。


安裝成功:
安裝pytesseract時,同時安裝pillow,所以我們只需安裝pytesseract即可。

3.嘗試運行,
源碼如下:
1 from PIL import Image
2 import pytesseract
3
4 Image = Image.open('1.png') # 打開圖片
5 text = pytesseract.image_to_string(Image,lang='chi_sim') #使用簡體中文解析圖片
6 print(text)
出現報錯,如下圖,
原因:沒有安裝識別引擎tesseract-ocr

二、安裝識別引擎tesseract-ocr
1.Tesseract是開源的OCR引擎。Tesseract最初設計用於英文識別,經過改進引擎和訓練系統,它能夠處理其它語言和UTF-8字符。Tesseract 3.0能夠處理任何Unicode字符,但並非在所有語言上都工作得很好。Tesseract在龐大字符集語言(比如中文)上較慢,但是工作良好。
下載鏈接: https://pan.baidu.com/s/1J0HNoVhX8WexS_5r0k2jDw 密碼: ywc3

因為tesseract-ocr默認不支持中文識別。
將下載到的文件:chi_sim.traineddata 放到Tesseract-OCR安裝目錄 D:\Program Files (x86)\Tesseract-OCR\tessdata 下,如圖:

2,安裝完成tesseract-ocr后,需要做一下配置 。
在Python安裝目錄(如:D:\Python35\Lib\site-packages\pytesseract) 中修改 pytesseract.py文件。

也可以通過pycharm,Ctrl+B 快速打開pytesseract源碼文件:
3.嘗試運行,出現如下報錯:
pytesseract.pytesseract.TesseractError: (1, 'Error opening data file \\Program Files (x86)\\Tesseract-OCR\\chi_sim.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. Failed loading language \'chi_sim\' Tesseract couldn\'t load any languages! Could not initialize tesseract.')

4.解決方法:將tessdata目錄的上級目錄所在路徑:(默認為tesseract-ocr安裝目錄)添加至TESSDATA_PREFIX環境變量中,如下圖:
注意:配置完環境變量需要重新打開pycharm編輯器(IDE)。

5.再次運行結果:圖片識別成功!
但識別率不是很高,后期優化,持續更新。


