Python驗證碼識別 安裝Pillow、tesseract-ocr與pytesseract模塊的安裝以及錯誤解決

1.安裝Pillow

pip install Pillow

2.安裝tesseract-ocr

 OCR(Optical Character Recognition, 光學字符識別) 軟件python

安裝包含兩個部分:ORC引擎自己以及對應語言的訓練數據git

 

github地址:   https://github.com/tesseract-ocr/tesseractgithub

You can either Install Tesseract via pre-built binary package or build it from source.ubuntu

windows:

The latest installer can be downloaded here: tesseract-ocr-setup-3.05.01.exe and tesseract-ocr-setup-4.00.00dev.exe (experimental). windows

 

ubuntu 16.04:

默認安裝的OCR引擎版本是3.04,所以須要安裝4.0版本的,則須要:ide

sudo add-apt-repository ppa:alex-p/tesseract-ocr
sudo apt-get update

 

# 安裝OCR引擎
sudo apt-get install tesseract-ocr
# 安裝訓練數據(equ爲數學公式包)
sudo apt-get install tesseract-ocr-eng tesseract-ocr-chi-sim  tesseract-ocr-equ

# 可選安裝Leptonica
sudo apt-get install liblept5  libleptonica-dev

 

traineddata存放路徑:  $TESSDATA_PREFIX/testdataui

3.04版本  ./usr/share/tesseract-ocr/tessdata/spa

4.0版本  /usr/share/tesseract-ocr/4.00/tessdata/code

此外,訓練數據還可在經過 tessdata repository 進行下載blog

 

3.安裝pytesseract

pip install pytesseract

 

遇到的問題:

1.FileNotFoundError: [WinError 2] 系統找不到指定的文件

解決方法:

方法1[推薦]: 將tesseract.exe添加到環境變量PATH中,

例如: D:\Tesseract-OCR,默認路徑爲C:\Program Files (x86)\Tesseract-OCR

注意: 爲了使環境變量生效,須要關閉cmd窗口或是關閉pycharm等ide從新啓動

方法2: 修改pytesseract.py文件,指定tesseract.exe安裝路徑

# CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe‘

方法3:  在實際運行代碼中指定

pytesseract.pytesseract.tesseract_cmd = 'D:\\Tesseract-OCR\\tesseract.exe'

 

2.pytesseract.pytesseract.TesseractError: (1, 'Error opening data file \\Tesseract-OCR\\tessdata/eng.traineddata')

 解決方法:

方法1[推薦]: 

將tessdata目錄的上級目錄所在路徑(默認爲tesseract-ocr安裝目錄)添加至TESSDATA_PREFIX環境變量中

例如: C:\Program Files (x86)\Tesseract-OCR

Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.

 

方法2:  在.py文件配置中指定tessdata-dir

tessdata_dir_config = '--tessdata-dir "D:\\Tesseract-OCR\\tessdata"'
# tessdata_dir_config = '--tessdata-dir "'C:\\Program Files (x86)\\Tesseract-OCR\\tessdata"'
pytesseract.image_to_string(image, config=tessdata_dir_config)

 

參考文檔:

https://pypi.python.org/pypi/pytesseract

https://github.com/tesseract-ocr/tesseract/wiki

相關文章
相關標籤/搜索