在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
Tesseract 是一個光學字符識別引擎,可以在多種作業系統上使用。 這是一款免費軟體,根據 Apache 授權許可發布。 在本指南中,我將向您介紹我在 Windows 10 機器上安裝 Tesseract 所遵循的步驟。主要版本 5 是當前的穩定版本,始於 2021 年 11 月 30 日的 5.0.0 版本。
要安裝語言數據:sudo port install tesseract -<語言代碼>
在 MacPorts Tesseract 頁面的 Homebrew 上可以找到 langcodes 列表。 在 Windows 上安装 Tesseract OCR 的第一步是下载与您计算机操作系统对应的 .exe 安装程序。
接下來,我們需要配置Tesseract的安裝。 如果您感到有信心並且只想在 Windows 上以預設語言設為英文來運行 Tesseract OCR,則按照預設選項進行安裝應該可行。
這只適用於對話框和幫助信息的語言。 如果我們想要,則可以在 Windows 上以多種語言運行 Tesseract OCR:
Windows 版 Tesseract OCR 的安裝程式語言
安裝畫面建議在繼續安裝之前,關閉所有其他應用程式。
Windows 安裝畫面上的 Tesseract OCR。
接下來,我們將選擇安裝位置。 在繼續下一步之前,確保將安裝位置複製到.txt文件中。安裝完成後,我們將需要將安裝位置新增到我們機器的環境變數中。
選擇安裝位置。
預設情況下,會選擇 ScrollView、Training Tools、快捷方式創建和語言數據。 除非您有特定原因不安裝這些,否則我們會希望保持選取所有這些選項。
Windows 安裝的預設 Tesseract OCR 元件。
如果我們向下滾動並展開「附加腳本數據」,我們將看到我們有選擇下載和安裝附加腳本數據的選項。 這可以幫助提高從某些腳本語言中提取文本的準確性。 是否安裝這些取決於您。
可選的腳本安裝元件。
在安裝的最後一步,我們會被要求選擇用於 Tesseract OCR for 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 在 Windows 上的成功安裝
恭喜! 您已成功在您的機器上安裝了 Tesseract OCR for Windows。
IronOCR 提供 Tesseract OCR 適用於 Mac、Windows、Linux、Azure 和 Docker 用於:
*.NET Framework 4.0 +
Xamarin for macOS
IronOCR 使用最新的 Tesseract 5 引擎從所有主要的圖像和 PDF 格式中讀取文字、條碼和 QR 碼。此程式庫可以在幾分鐘內為桌面、控制台和網絡應用程式新增 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包管理器進行。
Install-Package IronOcr
截至目前,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
// 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 在處理該文件之前還需要很長時間,然後才會給您提供不合理的信息。
IronOCR 消除了這個困擾。 使用者常常在最小化配置的情況下達到99.8-100%的準確度。
僅接受 Leptonica PIX 圖像格式,這是一個在 C# 中的 IntPtr C++ 對象。 PIX 物件不是受控記憶體—在 C# 中不謹慎處理它們會導致記憶體洩漏。
圖像是記憶體管理的。 PDF 和 Tiff 支援。 System. 每種檔案格式都包括繪圖、流和位元組陣列。
廣泛的影像支援:
如果適當調整且輸入圖像已通過 Photoshop 或 ImageMagick 預處理,Google Tesseract 可以執行快速且準確的結果。
IronOcr .NET Tesseract DLL 對於大多數圖像能夠快速且準確地進行處理。 我們已實現多線程,以利用大多數機器現在使用的多核心處理器。 即使是低解析度的圖片,在您的程序中也能以高度的準確性運作。 無需使用 PhotoShop。
我們有兩個免費選擇:
一個名為IronTesseract的經過管理和測試的.NET庫。
完整的文件與IntelliSense支援。
僅支援100種語言。
支持 127 多種語言。
Tesseract 是 C++ 開發者的絕佳資源,但它不是一個完整的 .NET OCR 函式庫。 掃描或拍攝的圖像需要進行處理,使其正交、標準化、高分辨率,並且無數位噪音,才能讓 Tesseract 準確地處理它們。
相比之下,IronOCR 只需一行代碼就能完成這個功能及更多。 確實,IronOCR 使用 Tesseract 為其內部OCR引擎,一個非常精細調整的Tesseract,為C#構建,並標準地添加了許多性能改進和功能。