Tesseract(識別引擎),一款由HP實驗室開發由Google維護的開源OCR(Optical Character Recognition , 光學字符識別)引擎,與Microsoft Office Document Imaging(MODI)相比,我們可以不斷的訓練的庫,使圖像轉換文本的能力不斷增強;如果團隊深度需要,還可以以它為模板,開發出符合自身需求的OCR引擎。
Tesseract-ocr安裝很容易,在網上找到下載地址直接下載安裝就可以,安裝過程中需要 注意的是語言模塊(根據自己的需要選擇需要安裝的語言包,建議安裝中文簡體和中文繁體),注意記住自己安裝的路徑
安裝完成之后需要配置環境變量,配置完環境變量之后可以在cmd命令行中輸入tesseract驗證Tesseract-ocr能否使用。
除了需要配置Tesseract-ocr文件的環境變量外,還需要配置Tesseract-ocr文件下的tessdata(語言包)的環境變量。
像下面這樣就代表安裝成功,並可以使用了。
將命令行切換至目標圖像文件目錄,比如我們轉換文件為test.png(圖片文件允許多種格式),位於C:\Users\Lian\Desktop\test;然后在命令行中輸入
tesseract test.png output_1 –l eng
【語法】: tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile…]
imagename為目標圖片文件名,需加格式后綴;outputbase是轉換結果文件名;lang是語言名稱(在Tesseract-OCR中tessdata文件夾可看到以eng開頭的語言文件eng.traineddata),如不標-l eng則默認為eng(英語)。
原有圖片
運行效果如下:
接下來是在python環境中使用Tesseract-ocr
需要安裝PIL包和Pillow包以及pytesseract模塊
安裝完pytesseract模塊后,找到該模塊,在pytesseract.py文件中修改以下字段為你的Tesseract-OCR文件下的tesseract.exe可執行文件。
tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe'
錯誤:pytesseract.pytesseract.TesseractError: (1, 'Error opening data file \\Program Files\\Tesseract-OCR\\tessdata/eng.traineddata')
在py文件中指定tessdata_dir
testdata_dir_config = '--tessdata-dir "C:\\Program Files (x86)\\Tesseract-OCR\\tessdata"' textCode = pytesseract.image_to_string(img, config=testdata_dir_config)
問題解決
出現這個報錯
FileNotFoundError: [WinError 2] 系統找不到指定的文件。
修改pytesseract.py文件里的tesseract_cmd
tesseract_cmd = 'C:\\Program Files\\Tesseract-OCR\\tesseract.exe'
問題解決