【python】呼叫tesseract時報錯
阿新 • • 發佈:2018-12-12
import pytesseract
from PIL import Image
image = Image.open('image.png')
print(pytesseract.image_to_string(image))
第一次通過pytesseract呼叫tesseract時,執行後報錯:
- Traceback(mostrecentcalllast):
- File "d:\Python36\lib\site-packages\pytesseract\pytesseract.py", line 260, in get_tesseract_version
- [tesseract_cmd, '--version'], stderr=subprocess.STDOUT
- .....(部分省略)
- pytesseract.pytesseract.TesseractNotFoundError: tesseract.exe is not installed or it's not in your path
根據第4行報錯提示,初步懷疑是環境變數的原因
於是檢查了本機環境變數的設定,發現都設定無誤
再進行判斷查看了第2、3行的報錯資訊:tesseract_cmd --version
於是進入python包lib\site-packages\pytesseract\ 修改了pytesseract.py裡面的這段原始碼:
numpy_installed = find_loader('numpy') is not None if numpy_installed: from numpy import ndarray # CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY tesseract_cmd = 'tesseract' RGB_MODE = 'RGB' OSD_KEYS = {
修改為下面這樣:
numpy_installed = find_loader('numpy') is not None if numpy_installed: from numpy import ndarray # CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY #tesseract_cmd = 'tesseract' tesseract_cmd = r'D:\Program Files (x86)\Tesseract-OCR\tesseract.exe' RGB_MODE = 'RGB' OSD_KEYS = {
在此執行,能正常識別圖片的文字。