在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
Tesseract是一個可以在各種作業系統上使用的光學字符識別引擎。它是一個免費軟體,根據Apache許可證發佈。在本指南中,我將帶您了解我在Windows 10機器上安裝Tesseract的步驟。主要版本5是目前的穩定版本,並於2021年11月30日開始發佈5.0.0。
要安裝語言數據:sudo port install tesseract -<語言代碼>
在 MacPorts Tesseract 頁面的 Homebrew 中可以找到語言代碼列表。安裝 Tesseract OCR for Windows 的第一步是下載與您的機器操作系統對應的 .exe 安裝程序。
接下來,我們需要配置 Tesseract 安裝。如果您有信心且只想在 Windows 上使用默認語言設置為英文來運行 Tesseract OCR,那麼使用所有默認選項運行安裝程序應該就可以了。
這只是對話框和幫助資訊的語言。如果我們想要,我們可以在多種語言下運行 Tesseract OCR for Windows:
Windows 版 Tesseract OCR 的安裝程式語言
設置畫面建議在繼續安裝之前關閉所有其他應用程式。
Windows 安裝畫面上的 Tesseract OCR。
接下來,我們將選擇安裝位置。在進行下一步之前,請確保將安裝位置複製到一個 .txt 文件中。安裝完成後,我們需要將安裝位置添加到我們機器的環境變數中。
選擇安裝位置。
預設情況下,ScrollView、培訓工具、快捷方式創建和語言數據都已選中。除非您有特定的原因不安裝這些,我們將希望保持選中所有這些選項。
預設的 Tesseract OCR Windows 安裝組件。
如果我們向下滾動並展開『額外的腳本數據』,我們會看到可以選擇下載和安裝額外的腳本數據。這有助於提高從某些腳本語言中提取文本的準確性。是否要安裝這些取決於您。
可選的腳本安裝元件。
在安裝的最後一步,我們會被要求選擇 Tesseract OCR 的 Windows 快捷方式的開始功能表資料夾。我將其設定為預設名稱:'Tesseract-OCR'。
選擇 Tesseract OCR for Windows 快捷方式的開始菜單資料夾。
當我們點擊安裝後,Tesseract OCR for Windows 將開始安裝。下一步是將安裝路徑添加到我們機器的環境變數中。
要將安裝位置添加到我們的環境變數中,請轉到開始菜單並搜尋 "環境變數"。你應該會看到編輯系統環境變數的結果。如果沒有,你可以始終使用以下步驟:開始菜單 > 控制面板 > 編輯系統環境變數。
搜索「環境變數」
當呈現“系統屬性”對話框時,我們需要確保點擊了“進階”標籤,然後點擊屏幕右下角的“環境變量”按鈕。
在系統變數下,我們將點擊 編輯 按鈕。
當出現“編輯環境變量”屏幕時,點擊“新增”按鈕,並將我們在步驟2中複製的Tesseract OCR安裝路徑粘貼進去。完成後,點擊“確定”按鈕。
就是這樣。! 現在我們已經運行了 .exe 安裝程式,並將 Tesseract OCR for Windows 的安裝位置添加到我們的環境變數中,我們可以通過在測試圖像上運行 Tesseract 來測試我們的安裝是否正常運行。
要測試是否成功安裝了 Tesseract OCR for Windows,請在您的計算機上打開命令提示符,然後運行 Tesseract 命令。您應該會看到一個簡要說明 Tesseract 使用選項的輸出。
檢查Tesseract OCR for Windows安裝成功
恭喜! 您已成功在機器上安裝了 Tesseract OCR for Windows。
IronOCR 提供 Mac、Windows、Linux、Azure 和 Docker 上的 Tesseract OCR,適用於:
IronOCR 使用最新的 Tesseract 5 引擎從所有主要的圖像和 PDF 格式中讀取文字、條碼和 QR 碼。此庫在幾分鐘內為桌面、控制台和 Web 應用程式添加 OCR 功能。它支持 127 種以上的國際語言。 授權條款 從 $749 開始。
下載 IronOcr DLL 直接到您的機器。
或者,您可以通過 NuGet 安裝它。
Install-Package IronOcr
將此程式碼添加到應用程式啟動時,在使用 IronOCR 之前執行。
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
IronOcr.Installation.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01"
測試您的金鑰是否已正確安裝。
BoolresultIronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF0");
BoolresultIronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF0");
BoolresultIronOcr.License.IsValidLicense("IRONOCR-MYLICENSE-KEY-1EF0")
開始專案
// 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
使用 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
使用 IronOCR,所有的 Tesseract 安裝都完全通過 NuGet Package Manager 進行。
Install-Package IronOcr
截至目前,IronTesseract 是唯一已知的 Tesseract 5 為 .NET Framework 或 Core 的實現。
// 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
// 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
如果 Tesseract 遇到一個旋轉、傾斜、低 DPI、掃描的圖像或具有背景噪音的圖像,Tesseract 幾乎無法從該圖像中獲取數據。此外,Tesseract 還會花費很長時間來處理該文件,並最終提供無意義的信息。
IronOCR 消除了這個頭痛問題。用戶通常只需進行最小的配置,就可以達到99.8-100%的準確率。
只接受 Leptonica PIX 圖像格式,它是 C# 中的 IntPtr C++ 對象。PIX 對象不是托管內存——在 C# 中未謹慎處理它們會導致內存洩漏。
影像具有記憶體管理功能。支援 PDF 和 Tiff 格式,包含 System.Drawing、Stream 和 Byte Array。
廣泛的影像支援:
如果進行正確調試並使用 Photoshop 或 ImageMagick 對輸入圖像進行預處理,Google Tesseract 可以執行快速且準確的結果。
IronOcr .NET Tesseract DLL 幾乎可以立即準確且快速地處理大部分圖像。 我們實現了多執行緒功能,可以利用大多數機器現在使用的多核處理器。 即使是低分辨率圖像,通常在你的程式中也能具有高精度的工作效果。 不需要使用PhotoShop。
我們有兩個免費選擇:
一個名為IronTesseract的受控和測試的.NET函式庫。
有完整的文件和IntelliSense支援。
僅支持100種語言。
支持127种以上的语言。
Tesseract 是一個優秀的 C++ 開發資源,但它並不是一個完整的 .NET 光學字符识别库。掃描或拍攝的圖像需要經過處理,使其正交、標準化、高解析度並且無數字噪音,這樣 Tesseract 才能準確地工作。
相比之下,IronOCR 只需一行程式碼就能做到這些甚至更多。的確,IronOCR 使用 Tesseract 為其內部OCR引擎,一個非常精細調整的Tesseract,為C#構建,並標準地添加了許多性能改進和功能。