天天看點

Win10環境下python調用Tesseract-OCR進行圖檔文字識别@Win10環境下python調用Tesseract-OCR進行圖檔文字識别

@Win10環境下python調用Tesseract-OCR進行圖檔文字識别

個人在網上沒有找到一個适用于純小白的一個傻瓜式教程,是以在此寫一個精細到每個步驟的小教程。本文僅包含最基礎的識别功能(由于篇幅問題本文挂了一些連結,既友善零基礎小白學習操作,也友善有基礎的同學節省閱讀時間)

1、下載下傳安裝python、Pycharm

建議大家安裝anaconda。我安裝的是python 3.6的anaconda,因為不知道什麼原因安裝3.7的會失敗。大家可以在這裡下載下傳:我之後會上傳

大家有興趣也可以試試官網下載下傳的anaconda最新版本:https://www.anaconda.com/distribution/

anaconda的安裝請參閱其他博文,這裡給大家推薦一篇:Anaconda詳細安裝使用教程

接着是python的編輯器。大家可以使用anaconda自帶的Spyder,可以使用VS code,而我比較習慣使用pycharm,附上官網下載下傳連結:https://www.jetbrains.com/pycharm/download/#section=windows

我推薦新手下載下傳community版本就可以,如果有需要可以去下載下傳professional的,這個根據自己需要。如何配置pycharm請參閱:PyCharm安裝與配置

大家安裝并配置好後可以寫一個helloworld試一試啦!

2、Tesseract-OCR下載下傳與配置

首先要先下載下傳Windows環境的Tesseract OCR安裝包:http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe

下載下傳好之後輕按兩下就開始安裝了,安裝過程中可以自定義安裝路徑,我的安裝路徑:D:/Tesseract-OCR

Win10環境下python調用Tesseract-OCR進行圖檔文字識别@Win10環境下python調用Tesseract-OCR進行圖檔文字識别
Win10環境下python調用Tesseract-OCR進行圖檔文字識别@Win10環境下python調用Tesseract-OCR進行圖檔文字識别
Win10環境下python調用Tesseract-OCR進行圖檔文字識别@Win10環境下python調用Tesseract-OCR進行圖檔文字識别
Win10環境下python調用Tesseract-OCR進行圖檔文字識别@Win10環境下python調用Tesseract-OCR進行圖檔文字識别
Win10環境下python調用Tesseract-OCR進行圖檔文字識别@Win10環境下python調用Tesseract-OCR進行圖檔文字識别
Win10環境下python調用Tesseract-OCR進行圖檔文字識别@Win10環境下python調用Tesseract-OCR進行圖檔文字識别

最後點選install就可以了,然後會問你要哪些英文以外的語言包,可以根據自己的需要來選擇要安裝的語言包。安裝好之後需要配置系統的環境變量。

1)打開檔案資料總管,在左側“此電腦”右鍵單擊,點屬性

Win10環境下python調用Tesseract-OCR進行圖檔文字識别@Win10環境下python調用Tesseract-OCR進行圖檔文字識别

2)點選左側“進階系統設定”,得到如下,點選紅框的“環境變量”

Win10環境下python調用Tesseract-OCR進行圖檔文字識别@Win10環境下python調用Tesseract-OCR進行圖檔文字識别

3)由步驟2)得到如下,可以看到上方的使用者變量和下方的系統變量。

Win10環境下python調用Tesseract-OCR進行圖檔文字識别@Win10環境下python調用Tesseract-OCR進行圖檔文字識别

選中使用者變量的Path,然後點選使用者變量下的編輯,得到下圖,點選右側建立,将你的tesseract.exe的路徑寫入(我的是D:/Tesseract),然後确定。

Win10環境下python調用Tesseract-OCR進行圖檔文字識别@Win10環境下python調用Tesseract-OCR進行圖檔文字識别

同樣的,在系統變量中找到Path,按照上述方法将路徑加到系統變量的Path中。

4)在下面系統變量中直接”建立“,變量名為TESSDATA_PREFIX,變量值同3)中的tesseract.exe的路徑。這個變量的作用是讓程式找到語言包,語言包一般統一存放于Tesseract_OCR\tessdata\檔案夾中。如果不添加此變量,程式運作将會報錯顯示找不到可用的語言包。

Win10環境下python調用Tesseract-OCR進行圖檔文字識别@Win10環境下python調用Tesseract-OCR進行圖檔文字識别

這樣我們的Tesseract-OCR就可以正常工作了。

3、使用python調用Tesseract OCR

首先要安裝python庫,推薦使用pip進行安裝。pip在安裝anaconda時已經自動安好了。

打開Anaconda Prompt,分别寫入

pip install Pillow

pip install pytesseract

使用pycharm打開Anaconda\Lib\site-packages\pytesseract\pytesseract.py檔案,在第35行需要修改路徑。

34 # CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
35 tesseract_cmd = 'D:/Tesseract-OCR/tesseract.exe'#這裡修改為你的tesseract.exe安裝路徑
           

4、編寫簡單的python腳本識别文字

以日文為例,建立tesstest.py,将要識别的圖檔命名為a.jpg并放于tesstest.py的相同路徑下。在tesstest.py中編寫:

import pytesseract
from PIL import Image

image = Image.open('a.jpg')
text = pytesseract.image_to_string('a.jpg',lang = 'jpn')
print(text)
           

右上角綠色箭頭運作,稍等片刻後下方RUN顯示輸出結果。

如有報錯,歡迎大家給我留言

轉載請注明出處