一、框架介紹
Tesseract 是一款圖片識別工具,可以抓取圖片中的文字,可以支持多種語言(默認是英語),需要下載開源文件可以在github上下載,如果知識應用不想太多深究直接在google code裡邊搜索下載即可。
二、Tesseract內容
Doc:說明文檔
Tessdata:存放各種文字庫(chi_sim.traineddata:中文 等)
Tessseract.exe 即可以啟動文件開始調用Tesseract 可以通過cmd方式調用,先cd到對應的目錄,然後 輸入 tesseract.exe 圖片名 導出文件名(如:tesseract.exe 1.jpg 1) 就可以把和tesseract同目錄的 1.jpg文件識別結果存放在 1.txt文件中。當然如果需要支持中文,需要在tessdata中添加 chi_sim.traineddata 文件,
然後 調用例子:tesseract.exe 1.jpg 1 -L chi_sim 制定是根據什麼文字庫進行識別。 當然圖片地址可以引用全路徑、輸出結果也可以全路徑如果只是想把Tesseract做為一個工具做文字解析,並不追求太高成功率使用者,這樣即可滿足需要了,直接通過CMD調用exe進行執行。有需要玩的小伙伴可以直接下載附件 Tesseract_簡單使用.rar文件
三、.Net項目高級使用
如果.Net項目需要使用 DLL方式引用進行研發,可以下載Tesseract_DLL引用包。
X86和X64是針對Tesseract關聯引用DLL,根據程序所在系統位數進行自適應配置。
liblept168.dll 這個文件會在windows server 2003中發布IIS情況下無法加載錯誤信息: Failed to find library "liblept168.dll" for platform x86. 如果發布在更高版本系統中即可正常使用Tesseract.DLL即是要添加到對應的項目中的。以下是測試tesseract.dll 代碼:
using (var engine = new TesseractEngine(Server.MapPath(@"~/tessdata"), "eng", EngineMode.Default)) { // have to load Pix via a bitmap since Pix doesn't support loading a stream. using (var image = new System.Drawing.Bitmap(imageFile.PostedFile.InputStream)) { using (var pix = PixConverter.ToPix(image)) { using (var page = engine.Process(pix)) { meanConfidenceLabel.InnerText = String.Format("{0:P}", page.GetMeanConfidence()); resultText.InnerText = page.GetText(); } } } }
TesseractEngine:構造函數參數注意事項=》第一個是字庫路徑必須使用tessdata結尾,第二個如果需要使用chi_sim即中文
以上所述就是本文的全部內容了,希望大家能夠喜歡。