在學習python網絡數據採集一書中,學習到11章——圖片處理時,作者介紹了tesseract-ocr光學文字識別這一內容,隨後在安裝該工具的過程中遇到了很多的問題,在這裏將其全部羅列出來,供讀者參考。
1.安裝tesseract
tesseract不是python的庫文件,因此需要從網上下載安裝,安裝文件下載請點這裏,進入網頁後,根據需要選擇高亮的藍色字體進行下載,下載後按默認安裝即可。
2.配置tesseract的環境變量
tesseract實際上是在windows命令行模式下使用的工具,因此需要配置其環境變量。配置方法如下:打開我的電腦屬性——更改設置——高級——環境變量,在系統變量中添加tesseract的路徑。
win+R輸入cmd打開命令行工具,輸入tesseract -v,出現如下說明即配置成功
3、TESSDATA_PREFIX變量設置
到這一步環境變量配置完成,但是此時直接使用tesseract對圖片進行識別會提示錯誤
例如,在cmd窗口中使用命令tesseract 1.jpg res
出現如下的錯誤提示
Error opening data file \Program Files (x86)\Tesseract-OCR\tessdata/eng.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.
Failed loading language 'eng'
Tesseract couldn't load any languages!
Could not initialize tesseract.
主要原因在於沒有設置TESSDATA_PREFIX變量,同樣在環境變量中添加該變量可解決問題
4、命令行使用注意點
tesseract的命令格式爲 tesseract image.(jpg,png...) res 其中res爲最後的輸出,默認爲txt文件
注意的是在命令行中,image文件應該在執行該命令的文件夾中,否則會報錯,顯示
Error in fopenReadStream: file not found
Error in findFileFormat: image file not found
Error during processing.
因此,要麼cd到圖片文件的目錄下,要麼將圖片所在位置完整給出,如C:1\2\image.jpg