Python3.6安裝使用tesserocr文件時遇到問題


  本機運行環境:

  Win 10 version 1709;

  Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32

  在Windows10下,首先需要下載tesseract,它為tesserocr提供底層支持。具體下載官方路徑:https://github.com/UB-Mannheim/tesseract/wiki,選擇對應的系統版本,可以選擇一個相對不帶dev的穩定版本下載,如:tesseract-ocr-setup-3.05.02-20180621.exe,

然后一路安裝,唯一記得勾選Additional language data(download),勾選可能會用到的語言tessdata,如簡體、繁體中文,數學模塊等,不需要全選,下載tessdata的時間會比較長。

我們在PowerShell下使用pip3 install tesserocr pillow 命令安裝 tesserocr時通常會報錯:“error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools",這個時候不宜直接去下載Microsoft Visual C++ Build Tools,而是使用原始的whl文件方式安裝。tesserocr 的whl官方文件下載路徑:https://github.com/simonflueckiger/tesserocr-windows_build/releases,

 

再次在powershell下安裝:使用cd跳轉到whl文件所在目錄,然后 執行 ”pip3 install tesserocr-2.2.2-cp36-cp36m-win_amd64.whl“,即可輕松完成安裝。

緊接着用例子驗證如何使用:我們找到一個驗證碼圖片:image.jpg,下載到本地磁盤,用代碼進行驗證:

1 import tesserocr
2 from PIL import Image
3 image=Image.open('image.jpg')
4 print(tesserocr.image_to_text(image))

不出意外,首次運行總是不順利,相信我遇到的坑大多數人都會遇到,大抵錯誤類似:

Traceback (most recent call last):
  File "c:\Users\NewJune\test.py", line 4, in <module>
    print(tesserocr.image_to_text(image))
  File "tesserocr.pyx", line 2400, in tesserocr._tesserocr.image_to_text
RuntimeError: Failed to init API, possibly an invalid tessdata path: C:\Python36\

 

不難看出 tesserocr.py文件沒有指定正確的tessdata 路徑,本人的python也並非安裝在C:\Python36\,網上看到的方法都是添加D:\Program Files\Tesseract-OCR這個到系統環境變量,依然不成功,目前本人沒找到如何修改tesserocr.py關聯的tessdata path有效方式,但是比較簡單粗暴的方法是,可以根據提示,直接手工新建C:\Python36\,並將D:\Program Files\Tesseract-OCR對應的tessdata文件夾整個拷貝到C:\Python36\即可。親測有效。

再次在vscode下運行程序,直接可以輸出”7364“,與驗證碼內容一致。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM