OCR 工具

Windows 中的 Tesseract Ocr(代碼示例教程)

發佈 2022年4月7日
分享:

什麼是 Tesseract OCR?

Tesseract 是一個光學字符識別引擎,可以在多種作業系統上使用。 這是一款免費軟體,根據 Apache 授權許可發布。 在本指南中,我將向您介紹我在 Windows 10 機器上安裝 Tesseract 所遵循的步驟。主要版本 5 是當前的穩定版本,始於 2021 年 11 月 30 日的 5.0.0 版本。


步驟1:在 Windows 10 中使用 .exe 檔案安裝 Tesseract OCR:

要安裝語言數據:sudo port install tesseract -<語言代碼> 在 MacPorts Tesseract 頁面的 Homebrew 上可以找到 langcodes 列表。 在 Windows 上安装 Tesseract OCR 的第一步是下载与您计算机操作系统对应的 .exe 安装程序。

步驟 2:配置安裝

接下來,我們需要配置Tesseract的安裝。 如果您感到有信心並且只想在 Windows 上以預設語言設為英文來運行 Tesseract OCR,則按照預設選項進行安裝應該可行。

安裝程式語言

這只適用於對話框和幫助信息的語言。 如果我們想要,則可以在 Windows 上以多種語言運行 Tesseract OCR:

Tesseract Ocr Windows 1 related to 安裝程式語言

Windows 版 Tesseract OCR 的安裝程式語言

Tesseract OCR 設置

安裝畫面建議在繼續安裝之前,關閉所有其他應用程式。

Tesseract Ocr Windows 2 related to Tesseract OCR 設置

Windows 安裝畫面上的 Tesseract OCR。

選擇安裝位置

接下來,我們將選擇安裝位置。 在繼續下一步之前,確保將安裝位置複製到.txt文件中。安裝完成後,我們將需要將安裝位置新增到我們機器的環境變數中。

Tesseract Ocr Windows 3 related to 選擇安裝位置

選擇安裝位置。

選擇元件

預設情況下,會選擇 ScrollView、Training Tools、快捷方式創建和語言數據。 除非您有特定原因不安裝這些,否則我們會希望保持選取所有這些選項。

Tesseract Ocr Windows 4 related to 選擇元件

Windows 安裝的預設 Tesseract OCR 元件。

如果我們向下滾動並展開「附加腳本數據」,我們將看到我們有選擇下載和安裝附加腳本數據的選項。 這可以幫助提高從某些腳本語言中提取文本的準確性。 是否安裝這些取決於您。

Tesseract Ocr Windows 5 related to 選擇元件

可選的腳本安裝元件。

選擇開始功能表資料夾

在安裝的最後一步,我們會被要求選擇用於 Tesseract OCR for Windows 快捷方式的開始功能表資料夾。 我將我的設置為預設名稱:「Tesseract-OCR」。

Tesseract Ocr Windows 6 related to 選擇開始功能表資料夾

選擇 Tesseract OCR for Windows 快捷方式的開始功能表資料夾。

在我們點擊安裝後,Tesseract OCR for Windows 將開始安裝。 接下來的步驟是將安裝路徑添加到我們機器的環境變數中。

步驟 3:將安裝路徑添加到環境變數

控制面板

要將安裝位置添加到我們的環境變數,請轉到「開始」菜單並搜索「環境變數」。 您應該會看到編輯系統環境變數的結果。 如果不行,您可以隨時使用以下步驟:開始選單 > 控制台 > 編輯系統環境變數

Tesseract Ocr Windows 7 related to 控制面板

搜索「環境變數」

系統屬性

當出現「系統屬性」對話框時,我們需要確保點擊了「進階」選項卡,然後點擊屏幕右下角的「環境變數」按鈕。

Tesseract Ocr Windows 8 related to 系統屬性

環境變數

在系統變數下,我們將點擊 編輯 按鈕。

Tesseract Ocr Windows 9 related to 環境變數

當出現“編輯環境變量”屏幕時,點擊“新增”按鈕,並將我們在步驟2中複製的Tesseract OCR安裝路徑粘貼進去。完成後,點擊“確定”按鈕。

將 Tesseract OCR Windows 安裝目錄添加到環境變數

Tesseract Ocr Windows 10 related to 將 Tesseract OCR Windows 安裝目錄添加到環境變數

就是這樣。! 現在,我們已經運行了 .exe 安裝程式並將 Tesseract OCR for Windows 的安裝位置添加到我們的環境變數中,我們可以通過在測試圖像上運行 Tesseract 來測試我們的安裝是否正常運行。

步驟 4:在測試圖像上運行 Windows 的 Tesseract OCR

要測試 Tesseract OCR for Windows 是否成功安裝,請在您的電腦上打開命令提示字元,然後執行 Tesseract 命令。 您應該會看到有關 Tesseract 使用選項的快速解釋的輸出。

Tesseract Ocr Windows 11 related to 步驟 4:在測試圖像上運行 Windows 的 Tesseract OCR

檢查 Tesseract OCR 在 Windows 上的成功安裝

恭喜! 您已成功在您的機器上安裝了 Tesseract OCR for Windows。


使用 IronOCR 進行光學字符識別工作的優勢:

IronOCR 提供 Tesseract OCR 適用於 Mac、Windows、Linux、Azure 和 Docker 用於:

*.NET Framework 4.0 +

  • .NET Standard 2.0+
  • .NET Core 2.0 +
  • .NET 5
  • Mono 適用於 macOS 和 Linux
  • Xamarin for macOS

    IronOCR 使用最新的 Tesseract 5 引擎從所有主要的圖像和 PDF 格式中讀取文字、條碼和 QR 碼。此程式庫可以在幾分鐘內為桌面、控制台和網絡應用程式新增 OCR 功能。 它支持超過127種國際語言。 授權條款 從 $749 開始。

第1步:安裝最新版本的IronOCR

安裝 DLL

下載 IronOcr DLL 直接到您的機器。

安裝 NuGet

或者,您可以通過 NuGet 安裝。

Install-Package IronOcr

步驟2:應用您的授權金鑰

使用代碼設置您的IronOCR授權密鑰

在使用 IronOCR 之前,將此代碼添加到應用程式的啟動中。

IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01"
VB   C#

步驟 3:測試您的金鑰

測試您的金鑰是否已正確安裝。

BoolresultIronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF0");
BoolresultIronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF0");
BoolresultIronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF0")
VB   C#

開始專案

// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Hundreds of languages available
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
   OcrInput.Add(@"img\example.tiff")
   // Input.DeNoise();  optional 
   // Input.Deskew();   optional 

   IronOcr.OcrResult Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

   // Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Hundreds of languages available
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
   OcrInput.Add(@"img\example.tiff")
   // Input.DeNoise();  optional 
   // Input.Deskew();   optional 

   IronOcr.OcrResult Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

   // Explore the OcrResult using IntelliSense
}
' PM > Install-Package IronOcr
' using IronOcr;

Dim Ocr = New IronTesseract()

' Hundreds of languages available
Ocr.Language = OcrLanguage.English

Using Input = New OcrInput()
   OcrInput.Add("img\example.tiff") IronOcr.OcrResult Result = Ocr.Read(Input)

   Console.WriteLine(Result.Text)

' ' Explore the OcrResult using IntelliSense
End Using
VB   C#

如何在 .NET 的 C# 中使用 Tesseract OCR?

  • 將Google Tesseract和IronOCR for .NET安裝到Visual Studio
  • 查看最新的C#版本
  • 審核準確性和圖像相容性
  • 測試性能和 API 功能
  • 考慮多語言支持

.NET OCR 使用的程式碼範例 — 從圖像中提取 C# 文字

使用 NuGet 套件管理器將 IronOCR NuGet 套件安裝到您的 Visual Studio 解決方案中。

// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Hundreds of languages available
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
   OcrInput.Add(@"img\example.tiff")
   // Input.DeNoise();  optional 
   // Input.Deskew();   optional 

   IronOcr.OcrResult Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

   // Explore the OcrResult using IntelliSense
}
// PM > Install-Package IronOcr
// using IronOcr;

var Ocr = new IronTesseract();

// Hundreds of languages available
Ocr.Language = OcrLanguage.English;

using (var Input = new OcrInput())
{
   OcrInput.Add(@"img\example.tiff")
   // Input.DeNoise();  optional 
   // Input.Deskew();   optional 

   IronOcr.OcrResult Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

   // Explore the OcrResult using IntelliSense
}
' PM > Install-Package IronOcr
' using IronOcr;

Dim Ocr = New IronTesseract()

' Hundreds of languages available
Ocr.Language = OcrLanguage.English

Using Input = New OcrInput()
   OcrInput.Add("img\example.tiff") IronOcr.OcrResult Result = Ocr.Read(Input)

   Console.WriteLine(Result.Text)

' ' Explore the OcrResult using IntelliSense
End Using
VB   C#

IronOCR Tesseract for C

使用IronOCR,所有Tesseract的安裝完全通過NuGet包管理器進行。

Install-Package IronOcr

IronOCR Tesseract 中的 Tesseract 5 API

截至目前,IronTesseract 是已知的唯一在 .NET Framework 或 Core 上實現 Tesseract 5 的版本。

// using IronOcr;

var Ocr = new IronTesseract(); // nothing to configure

using (var Input = new OcrInput(@"images\image.png"))
{
   var Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

}
// using IronOcr;

var Ocr = new IronTesseract(); // nothing to configure

using (var Input = new OcrInput(@"images\image.png"))
{
   var Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

}
' using IronOcr;

Dim Ocr = New IronTesseract() ' nothing to configure

Using Input = New OcrInput("images\image.png")
Dim Result = Ocr.Read(Input)

   Console.WriteLine(Result.Text)

End Using
VB   C#

IronOCR 中的 Tesseract 4 API Tesseract

// using IronOcr;

var Ocr = new IronTesseract();

Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;

using (var Input = new OcrInput(@"images\image.png"))

{

   var Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

}
// using IronOcr;

var Ocr = new IronTesseract();

Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4;

using (var Input = new OcrInput(@"images\image.png"))

{

   var Result = Ocr.Read(Input);

   Console.WriteLine(Result.Text);

}
' using IronOcr;

Dim Ocr = New IronTesseract()

Ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract4

Using Input = New OcrInput("images\image.png")


Dim Result = Ocr.Read(Input)

   Console.WriteLine(Result.Text)

End Using
VB   C#

為什麼 IronOCR 比 Tesseract 更好:

準確性

TESSERACT:

如果 Tesseract 遇到旋轉、傾斜、低 DPI、掃描或有背景噪音的圖像,幾乎無法從該圖像獲取數據。 此外,Tesseract 在處理該文件之前還需要很長時間,然後才會給您提供不合理的信息。

IRONOCR:

IronOCR 消除了這個困擾。 使用者常常在最小化配置的情況下達到99.8-100%的準確度。

圖片相容性

TESSERACT:

僅接受 Leptonica PIX 圖像格式,這是一個在 C# 中的 IntPtr C++ 對象。 PIX 物件不是受控記憶體—在 C# 中不謹慎處理它們會導致記憶體洩漏。

IRONOCR:

圖像是記憶體管理的。 PDF 和 Tiff 支援。 System. 每種檔案格式都包括繪圖、流和位元組陣列。

廣泛的影像支援:

  • PDF 文件
  • PDF 頁面
  • 多框TIFF文件
  • JPEG 和 JPEG2000
  • GIF
  • PNG
  • System.Drawing.Image
  • 二進制圖像數據(位元組[])
  • 等等…

性能

TESSERACT:

如果適當調整且輸入圖像已通過 Photoshop 或 ImageMagick 預處理,Google Tesseract 可以執行快速且準確的結果。

IRONOCR:

IronOcr .NET Tesseract DLL 對於大多數圖像能夠快速且準確地進行處理。 我們已實現多線程,以利用大多數機器現在使用的多核心處理器。 即使是低解析度的圖片,在您的程序中也能以高度的準確性運作。 無需使用 PhotoShop。

API

TESSERACT:

我們有兩個免費選擇:

  • 使用互操作層——許多在 GitHub 上找到的互操作層已經過時,存在未解決的問題、記憶體洩漏和控制台警告。 可能不支持 .NET Core 或 Standard。
  • 使用命令列 EXE —— 部署困難且經常被病毒掃描器和安全政策中斷。

IRONOCR:

一個名為IronTesseract的經過管理和測試的.NET庫。

完整的文件與IntelliSense支援。

語言

TESSERACT:

僅支援100種語言。

IRONOCR:

支持 127 多種語言。


結論

Tesseract 是 C++ 開發者的絕佳資源,但它不是一個完整的 .NET OCR 函式庫。 掃描或拍攝的圖像需要進行處理,使其正交、標準化、高分辨率,並且無數位噪音,才能讓 Tesseract 準確地處理它們。

相比之下,IronOCR 只需一行代碼就能完成這個功能及更多。 確實,IronOCR 使用 Tesseract 為其內部OCR引擎,一個非常精細調整的Tesseract,為C#構建,並標準地添加了許多性能改進和功能。

< 上一頁
線上OCR轉換器 — 免費線上工具
下一個 >
Windows 11 中的 OCR(免費線上工具)

準備開始了嗎? 版本: 2024.11 剛剛發布

免費 NuGet 下載 總下載次數: 2,698,613 查看許可證 >