很難受,由於這兩天重裝了系統,又得重新配置環境了,而我在安裝tesserocr的時候踩了一些坑,於是想寫出來分享一下。
一.安裝tesseract
要安裝tesserocr,首先要下載tesseract,它是給tesserocr提供支持的。下載地址為:https://digi.bib.uni-mannheim.de/tesseract/。
打開之后可以看到有很多文件,帶dev的為開發版本,不帶dev的為穩定版本,我們選擇下載不帶dev的版本,比如最新的這個:tesseract-ocr-w64-setup-v4.1.0.20190314.exe。下載完成之后運行安裝,一直點擊next,直到出現如下頁面:
在Additional language data中包含了OCR支持識別的各國語言包,可以根據情況選擇,我這里就選擇了中文的:
之后的過程就不用贅述了,這里因為我只選擇了中文語言包,所以下載起來還是很快的。
二.安裝tesserocr
使用pip install tesserocr進行安裝。我在安裝的時候碰到了下面這個問題:
解決辦法:
1)下載對應版本的whl包進行安裝,下載地址:https://github.com/simonflueckiger/tesserocr-windows_build/releases。
比如我的Python版本是3.7,電腦是Windows64位,所以我下載的是:tesserocr-2.4.0-cp37-cp37m-win_amd64.whl。下載完之后使用pip進行安裝:
2)安裝Visual Studio,比如VS2017。這個怎么說呢,雖然它里面包含了很多包,安裝起來也很簡單,但是如果你想卸載就很蛋疼了,而且這個軟件會占用C盤幾個G的空間,所以我個人是不推薦使用這個辦法的。
三.配置環境變量
首先找到你tesseract安裝的目錄位置,比如E:\Tesseract-OCR,然后將該路徑添加到環境變量path中:
之后新建一個系統變量TESSDATA_PREFIX,對應的值為:E:\Tesseract-OCR\tessdata:
四.運行示例
下面是一個簡單的示例,使用的圖片為:
代碼很簡單,如下:
1 import tesserocr 2 from PIL import Image 3 4 5 img = Image.open("test.jpg") 6 print(tesserocr.image_to_text(img))
在第一次運行的時候可能會出現下面這個錯誤:
RuntimeError: Failed to init API, possibly an invalid tessdata path: E:\Python\/tessdata/
解決辦法:將tesseract安裝目錄下的tessdata文件夾復制到你的Python安裝目錄下。
最終運行結果為:@ python’
我們可以看到tesserocr在不處理圖片直接使用的情況下,識別的效果其實是比較差的,如果我們想要提高OCR識別的准確度,可以進行相應的識別訓練。