記一次 python3 驗證碼識別 出錯過程
pillow、pytesseract、tesseract-ocr
前面2個可以直接pip安裝,tesseract-ocr需要去下載安裝包(直接網上搜,很多)
安裝完執行下py程式碼
import pytesseract
from PIL import Image
img=Image.open('./ver.jpg')
print (pytesseract.image_to_string(img, lang='chi_sim'))
出現錯誤: FileNotFoundError: [WinError 2] 系統找不到指定的檔案。
根據網上資料,更改 pytesseract.py 內容
tesseract_cmd = 'tesseract' 改成絕對路徑:
tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'
再次執行程式碼
出現錯誤:
pytesseract.pytesseract.TesseractError: (1, 'Error opening data file C:\\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.')
顯示沒把 TESSDATA 加入環境變數
新增完還是出現上面的錯誤
執行 dos tesseract是可以執行的
但是在py程式碼裡面就不可以了,什麼原因呢??????
再仔細觀察錯誤,原來少了 chi_sim 的語言包,修改下原始碼
import pytesseract
from PIL import Image
img=Image.open('./ver.jpg')
print (pytesseract.image_to_string(img))
總結:原來的原始碼是從別的網站上拷過來,沒留言沒有 chi_sim 中文語言包,導致出錯,一直以為是 環境變數問題
,下次要仔細點才行