tesseract文字識別技術
首先,下載tesseract-ocr
其次,安裝(注意選擇你要識別的語言庫,雖然事後自己也能從官網下載)
下載完成後就是最令人頭疼的環境變量的配置
1.首先,右擊 此電腦,打開 高級系統設置
2.點擊 環境變量
3.找到path,點擊,並新建一個path,這個新建的path,必須是以你安裝tesseract的目錄(比如我的安裝目錄是:C:\Program Files (x86)\tesseract)
4.在系統變量中,新建一個 TESSDATA_PREFIX 的變量,並且把tessdata的目錄寫進去(比如我的是:C:\Program Files (x86)\tesseract\tessdata)
但是,值得注意的是,圖片中大家可以看到,我的TESSDATA_PREFIX的變量值並沒有準確寫到tessdata(C:\Program Files (x86)\tesseract\tessdata並沒有把這個寫入),是因爲TESSDATA_PREFIX是指包含tessdata的目錄,即TESSDATA_PREFIX它所需要的是tessdata的上級目錄。詳情參考此文
5.重啓電腦,打開cmd運行
當然,故事不止於此…
tesseract在python的應用
1.首先,
pip install pytesseract
如果下載太慢,嘗試
pip install 包名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
2.pytesseract,使用時會有幾種崩潰
(比如:pytesseract.pytesseract.TesseractError: (1, ‘Error opening data file C:\Program Files (x86)\Tesseract-OCR;/eng.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your “tessdata” directory. Failed loading language ‘eng’ Tesseract couldn’t load any languages! Could not initialize tesseract.’),
但最終解決辦法也就兩種。
-first,打開pycharm報錯的那個文件,找到pytesseract開頭的那句代碼
tesseract_cmd ='tesseract'
修改成tesseract.exe的目錄
tesseract_cmd ='C:\\Program Files (x86)\\tesseract\\tesseract.exe'
以上是一種方法。
-second,配置中指定tessdata-dir
在代碼中添加
pytesseract.pytesseract.tesseract_cmd = 'c://Program Files (x86)//Tesseract-OCR//tesseract.exe'
tessdata_dir_config = '--tessdata-dir "c://Program Files (x86)//Tesseract-OCR//tessdata"'
然後,在指定的image_to_string配置下
image_to_string(image, lang = 'eng', config=tessdata_dir_config)
最後,百度了一下環境變量的作用。
環境變量是在操作系統中一個具有特定名字的對象,它包含了一個或者多個應用程序所將使用到的信息。例如Windows和DOS操作系統中的path環境變量,當要求系統運行一個程序而沒有告訴它程序所在的完整路徑時,系統除了在當前目錄下面尋找此程序外,還應到path中指定的路徑去找。用戶通過設置環境變量,來更好的運行進程。
也就是說:
不知道我理解的對不對,但似乎是這麼個意思,有不同看法的,或者指正的評論留言,一起學習。
這個破問題消耗了我很多天的時間,希望可以幫到大家。
https://blog.csdn.net/weixin_30480651/article/details/98203183
https://www.jianshu.com/p/f3b054dbf798