在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
利用如 IronOCR 和 Tesseract 這樣的函式庫,開發者可以訪問到用於從圖像和掃描文件中提取文本信息的先進算法和機器學習技術。本教程將向讀者展示如何使用 Tesseract 函式庫從圖像中進行文本提取,並最終介紹 IronOCR 的獨特方法。
使用 NuGet 套件管理員主控台,輸入下列指令。
Install-Package Tesseract
或通過 NuGet 包管理器下載這個套件。
在 NuGet 套件管理器中安裝 Tesseract
套件
安裝 NuGet 套件後,您必須手動安裝並將語言文件保存到專案資料夾中,這可以被認為是這個特定庫的一個缺點。
訪問以下网址 網站 下載語言文件。下載完成後,解壓縮文件,將 "tessdata" 文件夾添加到您的項目的調試文件夾中。
可以使用以下源代码对给定图像执行OCR:
using Tesseract;
var ocrEngine = new TesseractEngine(@"tessdata", "eng", EngineMode.Default);
var img = Pix.LoadFromFile("Demo.png");
var res = ocrEngine.Process(img);
Console.WriteLine(res.GetText());
Console.ReadKey();
using Tesseract;
var ocrEngine = new TesseractEngine(@"tessdata", "eng", EngineMode.Default);
var img = Pix.LoadFromFile("Demo.png");
var res = ocrEngine.Process(img);
Console.WriteLine(res.GetText());
Console.ReadKey();
Imports Tesseract
Private ocrEngine = New TesseractEngine("tessdata", "eng", EngineMode.Default)
Private img = Pix.LoadFromFile("Demo.png")
Private res = ocrEngine.Process(img)
Console.WriteLine(res.GetText())
Console.ReadKey()
首先,必須創建一個 TerreractEngine
對象,並將語言數據加載到引擎中。然後,使用 Tesseract Pix 加載所需的圖像文件。接下來,將此圖像傳遞到 TerreractEngine
中,以使用 TesseractEngine
中可用的 GetText
方法來提取正確的識別文本。這是代碼的輸出。
從圖片中提取的文字
自 Tesseract 3.00 版本起,支援輸出文本格式化、OCR 位置數據和頁面佈局分析。
Tesseract 可在 Windows、Linux 和 Mac OS X 上使用。然而,由於開發支援有限,目前僅確認 Tesseract 在 Windows 和 Ubuntu 上能按預期工作。
Tesseract 能區分等寬字體和比例字體。
使用如 OCRopus 這樣的前端,Tesseract 非常適合用作後端,可用於更具挑戰性的 OCR 任務,如佈局分析。
Tesseract 的一些缺點:
最新的版本尚未設計為能在 Windows 上編譯
欲了解有關 Tesseract 在 C# 中的更多信息,請訪問 Tesseract 教程.
在NuGet套件管理員主控台中輸入以下命令。
Install-Package IronOcr
或者透過NuGet套件管理器安裝IronOCR庫,以及其他語言的附加套件,這些都簡單方便使用。
通過NuGet套件管理器安裝IronOCR和語言套件
以下是從給定圖片中識別文字的範例程式碼。
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.EnglishBest;
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var input = new OcrInput())
{
input.LoadImage(@"Demo.png");
var result = ocr.Read(input);
Console.WriteLine(result.Text);
Console.ReadKey();
}
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.EnglishBest;
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5;
using (var input = new OcrInput())
{
input.LoadImage(@"Demo.png");
var result = ocr.Read(input);
Console.WriteLine(result.Text);
Console.ReadKey();
}
Dim ocr = New IronTesseract()
ocr.Language = OcrLanguage.EnglishBest
ocr.Configuration.TesseractVersion = TesseractVersion.Tesseract5
Using input = New OcrInput()
input.LoadImage("Demo.png")
Dim result = ocr.Read(input)
Console.WriteLine(result.Text)
Console.ReadKey()
End Using
上面的代碼實例化了一個 IronTesseract
物件。此外, OcrInput 正在創建一個物件,以添加一個或多個圖像文件,提供本地文件路徑與 LoadImage
方法。您可以自由上傳任意數量的圖片。该功能 讀取
在對象中 IronTesseract
將解析影像檔案並將結果提取到OCR結果中。
使用 IronOCR 庫提取的文本輸出
IronOCR是Tesseract函式庫的擴展,具有更高的穩定性和更高的準確性。
IronOCR可以讀取文本內容從 PDFs 和照片 IronOCR 也可以读取超过 20 种不同类型的 條碼 和 QR 碼。
輸出可以呈現為純文字、結構化數據、條碼或 QR 碼。
該庫能識別 全球有127種語言IronOCR 在所有 .NET 環境中靈活運作 (控制台、Web、桌面等),並且還支援最新的行動框架,例如 Mono、Xamarin, Azure,和 MAUI.