Python下Tesseract Ocr引擎及安裝介紹

来源:http://www.cnblogs.com/zhongtang/archive/2016/06/03/5554784.html
-Advertisement-
Play Games

1、Tesseract介紹 tesseract 是一個google支持的開源ocr項目,其項目地址:https://github.com/tesseract-ocr/tesseract,目前最新的源碼可以在這裡下載。 實際使用tesseract ocr也有兩種方式:1- 動態庫方式 libtesse ...


1、Tesseract介紹

tesseract 是一個google支持的開源ocr項目,其項目地址:https://github.com/tesseract-ocr/tesseract,目前最新的源碼可以在這裡下載。

實際使用tesseract ocr也有兩種方式:1- 動態庫方式 libtesseract  2  - 執行程式方式 tesseract.exe

由於本人也是python菜鳥一個,所以方式1暫時不會,只好採取方式2。

 

2、Tesseract安裝包下載

Tesseract的release版本下載地址:https://github.com/tesseract-ocr/tesseract/wiki/Downloads,這裡需要註意這一段話:

Currently, there is no official Windows installer for newer versions.

意思就是官方不提供最新版windows平臺安裝包,只有相對略老的3.02.02版本,其下載地址:https://sourceforge.net/projects/tesseract-ocr-alt/files/

最新版3.03和3.05版本,都是三方維護和管理的安裝包,有好幾個發行機構,分別是:

3rd party Windows exe's/installer

 

總結一下:

1、官方發佈的3.02版本下載地址:http://downloads.sourceforge.net/project/tesseract-ocr-alt/tesseract-ocr-setup-3.02.02.exe?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Ftesseract-ocr-alt%2Ffiles%2F&ts=1464880498&use_mirror=jaist

2、德國曼海姆大學發行的3.05版本下載地址,http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-3.05.00dev.exe

3、Simon Eigeldinger (@DomasoFan) 維護的另一個版本:http://3.onj.me/tesseract/,值得稱道的是,這個網址里還有一個比較詳細的說明。

以上版本如果在下載時發現無法下載,可以首先試試迅雷,其次,可能就需要FQ了。

本人使用的是官方發佈的3.02版本,也就是鏈接1.

 

3、Tesseract ocr使用說明

安裝之後,預設目錄C:\Program Files (x86)\Tesseract-OCR,你需要把這個路徑放到你操作系統的path搜索路徑中,否則後面使用起來會不方便。

在安裝目錄C:\Program Files (x86)\Tesseract-OCR下可以看到 tesseract.exe這個命令行執行程式。

tesseract語法如下:

例如:tesseract 1.png output-l eng -psm 7 ,表示採取單行文本方式,使用英語字型檔識別1.png這個圖片文件,識別結果輸出到當前目錄output.txt文件中。

 1 D:\python\lnypcg\test>tesseract
 2 Usage:tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]
 3 
 4 pagesegmode values are:
 5 0 = Orientation and script detection (OSD) only.
 6 1 = Automatic page segmentation with OSD.
 7 2 = Automatic page segmentation, but no OSD, or OCR
 8 3 = Fully automatic page segmentation, but no OSD. (Default)
 9 4 = Assume a single column of text of variable sizes.
10 5 = Assume a single uniform block of vertically aligned text.
11 6 = Assume a single uniform block of text.
12 7 = Treat the image as a single text line. #-psm 7 表示用單行文本識別
13 8 = Treat the image as a single word.
14 9 = Treat the image as a single word in a circle.
15 10 = Treat the image as a single character.
16 -l lang and/or -psm pagesegmode must occur before anyconfigfile. #-l eng 代表使用英語識別
17 
18 Single options:
19   -v --version: version info
20   --list-langs: list available languages for tesseract engine

 

 

4、Tesseract ocr使用實例

 

現在有一個經過灰度處理之後的驗證碼文件,在命令行中調用tesseract.exe實現預設,並把識別出來的文本輸出到output.txt文本文件中。

(如何灰度處理,在python里可以使用PIL庫,先挖個坑,下次寫。)

 1 D:\python\lnypcg\test>dir
 2  驅動器 D 中的捲沒有標簽。
 3  捲的序列號是 36D9-CDC7
 4 
 5  D:\python\lnypcg\test 的目錄
 6 
 7 2016-06-02  23:28    <DIR>          .
 8 2016-06-02  23:28    <DIR>          ..
 9 2016-06-02  22:02               462 1.png
10                1 個文件            462 位元組
11                2 個目錄 25,733,357,568 可用位元組
12 
13 D:\python\lnypcg\test>tesseract 1.png output -l eng
14 Tesseract Open Source OCR Engine v3.02 with Leptonica
15 
16 D:\python\lnypcg\test>type output.txt
17 7572
18 
19 
20 D:\python\lnypcg\test>

 

總結,tesseract是一個挺不錯的OCR引擎,目前的問題是最新的中文資料相對較少,過時、不准確的信息偏多,把這幾天的琢磨的結果分享給大家,希望對大家有所幫助。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 最近這段時間除了工作,所有的時間都是在移植我以前實現的一個Owin框架,相當移植到到Core的話肯定會有很多坑,這個大家都懂,以後幾篇文章可能會圍繞這個說下,暫時就叫《Dotnet Core踩坑記》吧,呵呵。 接下來我對我在移植過程中發現的一些問題進行了總結,今天主要說說Owin。說到Owin ...
  • 創建自定義視圖引擎 一般情況下直接使用MVC框架自帶的內建視圖引擎即可,但如果想知道視圖引擎是如何工作的,就需要從建立一個自定義視圖引擎開始了。通過之前的學習我們都知道了內建視圖引擎包括Razor和ASPX兩種,ASPX是針對舊版本MVC程式的,他主要是維護舊版本MVC應用程式,保持系統的相容性而保 ...
  • 我們可以使用jdk內置的 Locale 類來實現java語言的國際化。使用方法很簡單: 命名格式為: xxx_語言代碼_國家代碼 我們這裡 用到了 中英文名稱為: RetrievingRequestXMLError=Error retrieving requestXML from HTTP POST ...
  • #include <iostream>#include <algorithm>#include <map> using namespace std; int main() { int n, i, *arr1, *arr2; map<int, int> match; while(cin>>n) { a ...
  • Java容器可以說是增強程式員編程能力的基本工具,本系列將帶您深入理解容器類。 容器的用途 如果對象的數量與生命周期都是固定的,自然我們也就不需要很複雜的數據結構。 我們可以通過創建引用來持有對象,如 也可以通過數組來持有多個對象,如 然而,一般情況下,我們並不知道要創建多少對象,或者以何種方式創建 ...
  • 項目在變,需求在變,不變的永遠是敲擊鍵盤的程式員..... PDF 生成後,有時候需要在PDF上面添加一些其他的內容,比如文字,圖片.... 經歷幾次失敗的嘗試,終於獲取到了正確的代碼書寫方式。 在此記錄總結,方便下次以不變應萬變,需要的 jar 請移步:生成PDF全攻略 上述的這段代碼算是在原有 ...
  • 摘自aardio培訓群 www.aardio.com ...
  • 概述 之前學習的 Agent,GenSever以及GenEvent,都是用來管理狀態或者處理消息的。 但是在很多時候,我們需要的是執行某個任務,這時如果使用 GenSever 或者 GenEvent,就會顯得比較笨重。 這時,我們就可以使用 Task 模塊,使用 Task 模塊時註意以下幾點: 1. ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...