用來圖像識別pytesseract,tesseract的相關問題和方法

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章