在生產環境中測試,無水印。
在任何需要的地方都能運行。
獲得 30 天的全功能產品。
在幾分鐘內上手運行。
試用產品期間完全訪問我們的支援工程團隊
利用像 IronOCR 和 Tesseract 這樣的庫,開發者可以利用先進的算法和機器學習技術,從圖像和掃描文件中提取文本信息。 此教學將向讀者展示如何使用 Tesseract 庫來執行從圖像中提取文字,最後將介紹 IronOCR 的獨特方法。
使用 NuGet 套件管理器主控台,輸入以下命令。
Install-Package Tesseract
Install-Package Tesseract
或透過 NuGet 套件管理器下載套件。
在 NuGet 包管理器中安裝Tesseract
套件
在安裝 NuGet 套件後,您必須手動將語言檔案安裝並儲存在專案資料夾中。 這可以被認為是這個特定庫的一個缺點。
請造訪以下網站來下載語言檔案。 下載後,解壓縮文件,然後將 "tessdata" 資料夾添加到專案的 debug 資料夾中。
可以使用以下源代碼對給定圖像進行 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 上編譯。
若要了解更多關於 C# 中的 Tesseract,請造訪Tesseract 教程。
在 NuGet 封裝管理器主控台輸入下一個命令。
Install-Package IronOcr
或通過NuGet Package Manager安裝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
對象。 此外,正在創建一個LoadImage
方法提供本地文件路徑。 您可以自由上傳任意數量的圖片。 在物件Read
將解析圖像檔案並將結果提取到OCR結果中。
使用 IronOCR 程式庫提取的文字輸出