在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
選擇正確的光學字符識別(光學字符識別)該工具對於任何希望將文本圖像轉換為可編輯和可搜索數據的人來說都是至關重要的。 該領域的兩個熱門選擇是Paddle OCR和Tesseract. 兩者都利用不同的OCR技術,滿足不同的需求。 本比較著重於評估不同的OCR引擎,以幫助您找到最適合您需求的選項。
無論您正在處理簡單的任務或是面對複雜的文件,了解Paddle OCR和Tesseract的功能可能是邁向更高效數據處理的第一步。 我們也將介紹一個來自一系列 OCR 庫的庫,IronOCR添加進來,提供更廣泛的比較,幫助你了解哪種工具最適合你的需求。
Paddle OCR作為一個顯著的解決方案,擁有專為多語言文本識別設計的先進文本識別模型,並利用PaddlePaddle深度學習框架的能力。 PaddlePaddle 開發的 OCR 系統專為高效性能和廣泛的語言支持而設計。 該系統的特點在於支持超過50種語言,並提供一套用於數據標注、合成和模型部署的工具,可在包括伺服器、移動設備、嵌入式系統以及物聯網設備在內的各種平台上使用。
Paddle OCR 擁有多種 OCR 功能,並提供用戶友好的 API,適用於各種應用。 以下是其顯著特點:
多語言支援:Paddle OCR 能處理多種語言的文本,提供超過 50 種語言的支援。
進階演算法:它採用了先進的光學字符識別方法和演算法進行文本檢測、識別和分類。 包括最新的深度學習研究,如連接主義時間分類技術。(CTC)損失在準確預測和對齊文本序列中起著至關重要的作用。
Paddle OCR 根據 Apache License 2.0 發布,確保使用、修改和分發皆為免費。 安裝過程簡單,通常涉及使用像 pip 這樣的 Python 套件管理器。 使用者可以通過幾個指令快速安裝 Paddle OCR 及其相依項目,從而輕鬆整合到專案中。
將 PaddleOCR 整合到 Visual Studio 的 C# 專案中,可以藉由使用 PaddleSharp 來簡化,這是一個用於 Paddle Inference C# API 的 .NET 包裝器。 這允許在 .NET 環境中直接使用 PaddlePaddle 的深度學習功能。 以下是將 PaddleSharp 設置到您的項目中的逐步指南:
先決條件:
了解 C# 並熟悉 Visual Studio 中的 NuGet 套件管理也是必不可少的。
安裝 PaddleSharp 套件:
在方案總管中右鍵點擊您的專案,然後選擇「管理 NuGet 套件」選項。
Scdb.PaddleOCR
OpenCvSharp4
OpenCvSharp4.runtime.win
新增本機和基礎架構套件:
using System;
FullOcrModel model = await OnlineFullModels.EnglishV3.DownloadAsync();
using (PaddleOcrAll all = new(model)
{
AllowRotateDetection = true,
Enable180Classification = false,
})
using (Mat imgSrc = Cv2.ImRead(@"read.jpg"))
{
Stopwatch stopWatch = Stopwatch.StartNew();
PaddleOcrResult result = all.Run(imgSrc);
Console.WriteLine($"lapsed={sw.ElapsedMilliseconds} ms");
Console.WriteLine(result.Text);
}
using System;
FullOcrModel model = await OnlineFullModels.EnglishV3.DownloadAsync();
using (PaddleOcrAll all = new(model)
{
AllowRotateDetection = true,
Enable180Classification = false,
})
using (Mat imgSrc = Cv2.ImRead(@"read.jpg"))
{
Stopwatch stopWatch = Stopwatch.StartNew();
PaddleOcrResult result = all.Run(imgSrc);
Console.WriteLine($"lapsed={sw.ElapsedMilliseconds} ms");
Console.WriteLine(result.Text);
}
Imports System
Private model As FullOcrModel = await OnlineFullModels.EnglishV3.DownloadAsync()
Using all As New PaddleOcrAll(model) With {
.AllowRotateDetection = True,
.Enable180Classification = False
}
Using imgSrc As Mat = Cv2.ImRead("read.jpg")
Dim stopWatch As Stopwatch = Stopwatch.StartNew()
Dim result As PaddleOcrResult = all.Run(imgSrc)
Console.WriteLine($"lapsed={sw.ElapsedMilliseconds} ms")
Console.WriteLine(result.Text)
End Using
End Using
Tesseract是一款廣為人知的開源 OCR 引擎,並依據 Apache 2.0 許可證授權。 它的開發歷程始於惠普實驗室,並在 Google 的管理下持續到 2018 年,之後被開源。 現在由貢獻者社群維護。 這個引擎以其能夠閱讀超過 100 種語言以及支持多種圖像格式(包括 PNG、JPEG 和 TIFF)而聞名。 它以多種格式輸出,如純文本、hOCR(HTML), PDF, 及更多內容。
以下是其主要功能概述:
廣泛的語言支持:Tesseract 能夠識別超過 100 種語言,滿足全球觀眾的需求。 引擎支持Unicode(UTF-8),啟用多語言文件的處理。
基於神經網絡的識別:Tesseract第4版及更高版本引入了神經網絡(長短期記憶網絡)基於OCR引擎,增強其對文本行識別的準確性,超越其傳統的字符模式識別方法。
Tesseract OCR 在 Apache License 2.0 許可下發布。此許可證是最寬松和開放的許可之一,允許在幾乎無限制的情況下使用、修改和分發軟體,即使在專有軟體項目中也是如此。
若要在 Visual Studio 專案中使用 NuGet 安裝 Tesseract OCR,請按照以下步驟操作:
打開 Visual Studio:啟動 Visual Studio 並打開您的專案或創建一個新專案。
在方案總管中右鍵點擊您的專案,選擇 管理 NuGet 套件... 3. 在 NuGet 套件管理器中,切換到 瀏覽 標籤並搜尋 Tesseract。
using Tesseract;
using (var engine = new TesseractEngine(@".\tessdata-main", "eng", EngineMode.Default))
{
using (var img = Pix.LoadFromFile(@"read.jpg"))
{
using (var page = engine.Process(img))
{
var text = page.GetText();
Console.WriteLine(text);
}
}
}
using Tesseract;
using (var engine = new TesseractEngine(@".\tessdata-main", "eng", EngineMode.Default))
{
using (var img = Pix.LoadFromFile(@"read.jpg"))
{
using (var page = engine.Process(img))
{
var text = page.GetText();
Console.WriteLine(text);
}
}
}
Imports Tesseract
Using engine = New TesseractEngine(".\tessdata-main", "eng", EngineMode.Default)
Using img = Pix.LoadFromFile("read.jpg")
Using page = engine.Process(img)
Dim text = page.GetText()
Console.WriteLine(text)
End Using
End Using
End Using
IronOCR是一種先進的OCR(光學字符識別)大幅提升 .NET 開發人員能力的庫從圖像中提取文字以及PDF。 基於 Tesseract OCR 引擎的基礎,IronOCR 提供了原生的 C# 體驗,帶來比基礎引擎更高的穩定性和準確性。Tesseract 庫. 它被設計為可以無縫整合到 .NET 應用程式和網站中,允許將文字提取為純文字或結構化數據格式,並且能夠理解多種外語。 利用深度學習算法,IronOCR在文本識別任務中實現了無與倫比的準確性。
這個庫不僅在簡單的OCR任務中表現出色,還將其功能擴展到廣泛的應用範圍。 它支持多種平台,包括從 5 到 8 的 .NET 版本、.NET Core 2x 和 3x,以及 .NET Framework 4.6.2 及以上版本。
以下是使IronOCR脫穎而出的主要屬性和功能:
先進的光學字符識別引擎:使用 Tesseract 5,IronOCR 提供先進的光學字符識別引擎,支持125 多種語言. 此功能對於需要多語言支持的全球應用程式至關重要。 該庫為大多數語言提供高、中、快速質量選項,包括自訂語言和字體訓練,確保文字識別的靈活性和高準確性。
綜合文件處理:IronOCR 可以處理各種文件類型和格式,包括圖像。(JPG、PNG、GIF、TIFF、BMP),System.Drawing 物件、流和 PDF。
強大的圖像處理:該程式庫包含強大的濾鏡和圖像處理工具,諸如銳化、解析度增強、降噪和色彩校正。(二值化, 灰階, 反轉).
結構化和簡單的數據輸出:IronOCR 提供結構化數據輸出(頁面,區塊,段落,行,詞語,字符)和簡單的數據輸出(.NET 文本字串、條碼和 QR 資料、影像).
並行處理與計算機視覺:此庫支持單線程和多線程操作、異步操作,並提供計算機視覺功能,以識別圖像中的文本區域,提高複雜或噪聲圖像中的文本識別準確性和效率。
要在您的 .NET 專案中安裝 IronOCR,您可以根據您的開發環境和偏好選擇多種方法。 以下是讓您開始使用的簡化指南:
IronOCR 提供各種授權選項,以滿足不同專案和開發人員的需求,確保為用戶提供靈活性和擴展性。 許可條款是永久的,這表示一旦您購買了許可證,就不會有經常性費用。 此外,每個許可證皆包含30天退款保證、一年的產品支持和更新,並適用於開發、預備和生產環境。 許可證價格從 $749 起。您可以獲得一個免費試用在購買許可證之前。
導航到工具 -> NuGet 套件管理員 -> 套件管理器主控台。
以下是使用 IronOCR 從圖像中提取文本的程式碼示例:
using IronOcr;
IronOcr.License.LicenseKey = "License-Key";
var ocrMode = new IronTesseract();
var resultText = ocrMode.Read("read.jpg");
Console.WriteLine(resultText.Text);
using IronOcr;
IronOcr.License.LicenseKey = "License-Key";
var ocrMode = new IronTesseract();
var resultText = ocrMode.Read("read.jpg");
Console.WriteLine(resultText.Text);
Imports IronOcr
IronOcr.License.LicenseKey = "License-Key"
Dim ocrMode = New IronTesseract()
Dim resultText = ocrMode.Read("read.jpg")
Console.WriteLine(resultText.Text)
在針對光學字符識別的重要因素對IronOCR、PaddleOCR和Tesseract進行評估時(光學字符識別)在應用程式中,考慮到每種工具在準確性、速度、語言支援、客製化選項和社群支援方面的優勢是至關重要的。
PaddleOCR 和 Tesseract 都在基準測試中顯示出高準確度,但 IronOCR 能夠微調和調整預處理步驟,使其在各種文檔類型中提供更優異的結果。
在處理速度方面,IronOCR 因其在 .NET 環境中高效處理文檔而脫穎而出,提供經過優化的性能以實現快速文本識別。 PaddleOCR 和 Tesseract 也以其即時處理能力而聞名。
Tesseract 支援超過 100 種語言,是語言覆蓋範圍最廣泛的 OCR 工具之一。 PaddleOCR 也為語言支援提供了驚人的功能,特別是針對亞洲語言。 IronOCR 使用 Tesseract 引擎,繼承了這種廣泛的語言支持,並結合了額外的增強和優化。 這種組合不僅擴展了有效處理的語言範圍,還提升了 IronOCR 增強功能直接支持語言的準確性和速度。
IronOCR 在這種自訂化方面表現出色,透過提供多種選項允許開發人員對 OCR 流程進行微調,包括圖像預處理、文字過濾和自訂詞典。 此自定義程度在複雜的OCR場景中特別有價值,因為預設設定可能不夠用。雖然PaddleOCR和Tesseract提供一些自定義功能,但IronOCR著重於.NET生態系統中開發者的需求,確保更高的靈活性。
儘管 Tesseract 因其悠久歷史和開源性質擁有廣大且成熟的社群,PaddleOCR 的社群正在快速成長,但 IronOCR 因其專注於 .NET 開發者的社群而受益。
總結來說,儘管 Tesseract 提供了強大的基礎,擁有廣泛的自定義功能和社群支持,使其適合 OCR 項目,而 PaddleOCR 則引入了先進的深度學習技術以達到高精度和速度,但 IronOCR 作為 .NET 開發者和企業的引人注目選擇脫穎而出。 其對本地部署、全面的語言支援以及具成本效益的授權模式的關注,使 IronOCR 成為優先考慮資料安全性、財務可預測性及與 .NET 應用程式整合的人的具吸引力選擇。
IronOCR 對於企業具有特別的吸引力,因為它提供靈活的授權選項,其中包括免費試用適合初步評估及起價 $749 的授權,滿足各種規模的組織尋求性能和成本之間平衡的需求。