與其他組件比較

Paddle OCR vs Tesseract(OCR功能比較)

發佈 2024年4月29日
分享:

選擇正確的光學字符識別 (光學字符識別) 此工具對於任何希望將文字圖像轉換為可編輯和可搜索數據的人來說都是至關重要的。該領域的兩個熱門選擇是 Paddle OCRTesseract兩者都利用不同的OCR技術並滿足不同的需求。本比較旨在評估不同的OCR引擎,以協助您找到最適合您需求的選項。

無論您是處理簡單任務還是處理複雜文件,了解Paddle OCR和Tesseract的功能可能是您提高數據處理效率的重要一步。我們還將介紹其中一個OCR庫中的一個庫。 IronOCR 添加進來,提供更廣泛的比較,幫助你了解哪種工具最適合你的需求。

Paddle OCR

Paddle OCR 作為一個顯著的解決方案,利用 PaddlePaddle 深度學習框架的先進文本識別模型,專為多語言文本識別設計。PaddlePaddle 開發的 OCR 系統針對高性能和廣泛的語言支持而量身定制。該系統通過支持超過 50 種語言脫穎而出,提供了一套數據標註、合成和模型部署工具,可跨多種平台,包括伺服器、移動設備、嵌入式系統和物聯網設備。

主要功能

Paddle OCR 拥有强大的 OCR 能力和用户友好的 API,可用于多种应用。以下是其突出功能:

  1. 多語言支持: Paddle OCR 可以處理多種語言的文字,支持超過 50 種語言。

  2. 先進演算法: 它结合了先進的 OCR 方法和演算法,用於文字检测、识别和分类。这包括最前沿的深度学习研究,如连接时序分类(Connectionist Temporal Classification)。 (CTC) 損失,在準確預測和對齊文本序列方面發揮關鍵作用。

  3. 效率和速度:Paddle OCR 經過優化,能夠在速度和準確性之間實現平衡,可以快速處理大量圖像,適用於高吞吐量應用。

授權

Paddle OCR 採用 Apache License 2.0 授權,保證其使用、修改和分發都是免費的。安裝過程簡單,通常涉及使用 pip 等 Python 套件管理器。用戶只需通過幾條命令即可快速安裝 Paddle OCR 及其依賴項,便於項目集成。

安裝 PaddleSharp

在 Visual Studio 的 C# 專案中整合 PaddleOCR 可以透過使用 PaddleSharp 來簡化,這是一個 Paddle Inference C# API 的 .NET 包裝器。這允許在 .NET 環境內直接使用 PaddlePaddle 的深度學習功能。以下是設置 PaddleSharp 在您的專案中的逐步指南:

先決條件

  • 確保您的系統上已安裝 Visual Studio,並具有 .NET Framework 或 .NET Core 支援,這取決於您的專案需求。
  • 需要了解 C# 並熟悉 Visual Studio 中的 NuGet 套件管理。

安裝 PaddleSharp 套件

  • 在 Visual Studio 中打開您的專案。
  • 通過右鍵單擊解決方案資源管理器中的專案,導航到 “管理 NuGet 套件” 選項。
    • 搜尋 Sdcb.PaddleInference 並安裝套件。這是允許 .NET 應用程式利用 Paddle Inference 引擎的核心綁定。

Paddle OCR 與 Tesseract 比較(OCR 功能比較): 圖 1 - 在 NuGet 套件管理器中瀏覽 Sdcb.PaddleInference

  • 然後安裝以下軟體包:

  • Scdb.PaddleOCR

  • OpenCvSharp4

  • Scdb.PaddleOCR.Models.Online

  • OpenCvSharp4.runtime.win

新增原生和基礎設施軟體包

  • 根據您的目標平台 (Windows/Linux) 要求 (中央處理器/圖形處理單元), 可能需要额外的套件。對於 Windows,您可能需要像 Sdcb.PaddleInference.runtime.win64.mkl 這樣的套件以支持 MKL,或 Sdcb.PaddleInference.runtime.win64.cuda 這樣的套件以支持 GPU。
  • 也可以通过 NuGet 包管理器安裝這些套件,確保與您的開發和目標執行環境兼容。

範例程式碼

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
VB   C#

Paddle OCR vs Tesseract(OCR功能比較):圖2-前面代碼的控制台輸出。

Tesseract OCR

Tesseract 是一個廣為人知的開源OCR引擎,並根據Apache 2.0許可證授權。它的開發始於惠普實驗室,後來由谷歌持續開發直到2018年,之後開源。目前,由貢獻者社群維護。該引擎以其讀取超過100種語言的能力和對各種圖像格式(包括PNG、JPEG和TIFF)的支持而著稱。它輸出多種格式,如純文本、hOCR (HTML), PDF, 及更多內容。

主要功能

以下是其主要功能概述:

  1. 廣泛的語言支持:Tesseract 能夠識別超過 100 種語言,滿足全球觀眾的需求。該引擎支持 Unicode (UTF-8),從而實現多語言文件的處理。

  2. 基於神經網絡的識別:Tesseract的第4版及以上版本引入了神經網絡 (長短期記憶網絡) 基於OCR引擎,通過增強其對文本行識別的準確性來超越傳統的字符模式識別方法。

  3. 多功能輸出格式:Tesseract支持多種輸出格式,包括純文本、hOCR (HTML), PDF 和 TSV,使其適用於不同的使用情境。

授權

Tesseract OCR 是根據 Apache 許可證 2.0 發佈的。這種許可證是最寬鬆和開放的許可證之一,幾乎允許無限制地使用、修改和分發軟體,即使在專有軟體專案中也是如此。

安裝 Tesseract

要在 Visual Studio 專案中使用 NuGet 安裝 Tesseract OCR,請按照以下步驟操作:

  1. 開啟 Visual Studio:啟動 Visual Studio 並打開您的專案或創建一個新專案。
  2. 在方案總管中右鍵單擊您的專案,選擇 管理 NuGet 套件...
  3. 在 NuGet 套件管理器中,切換到 瀏覽 標籤,搜索 Tesseract
  4. 安裝 Tesseract NuGet 套件管理器。

Paddle OCR 相較 Tesseract(OCR 功能比較):圖 3 - 使用 NuGet 套件管理器安裝 Tesseract

  1. 從這裡下載 Tessdata 連結. 使用 Tesseract OCR 是很重要的。

範例程式碼

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
VB   C#

Paddle OCR 與 Tesseract(OCR 特性比較):圖 4 - 來自前一個程式範例的控制台輸出

IronOCR

IronOCR 是一種先進的OCR (光學字符識別) 大幅提升 .NET 開發人員能力的庫 從圖像中提取文字 和 PDFs。IronOCR 在 Tesseract OCR 引擎的基礎上構建,提供了原生 C# 體驗,比基礎引擎具有更高的穩定性和準確性。 Tesseract 庫它被設計為無縫整合到 .NET 應用程式和網站中,可以提取文字到純文字或結構化數據格式,並能夠理解多種外國語言。利用深度學習算法,IronOCR 在文本識別任務中實現了無與倫比的準確性。

這個庫不僅在簡單的 OCR 任務中表現出色,還將其功能擴展到廣泛的應用領域。它支持多種平台,包括.NET 5 至 8 版本、.NET Core 2x 和 3x,以及 .NET Framework 4.6.2 及以上版本。

主要功能

以下是使 IronOCR 脫穎而出的某些關鍵屬性和功能:

先進的 OCR 引擎:利用 Tesseract 5,IronOCR 提供了先進的 OCR 引擎,支持 125 多種語言. 此功能對於需要多語支持的全球應用至關重要。該庫提供高、中、快速質量選項,適用於大多數語言,包括自定義語言和字體訓練,確保在文本識別中的靈活性和高度準確性。

全面的文件處理: IronOCR 可以處理各種類型和格式的文件,包括圖片 (JPG、PNG、GIF、TIFF、BMP), System.Drawing 對象、流和 PDF。

強大的圖像處理:該庫包括強大的濾鏡和圖像處理工具,例如銳化、分辨率增強、降噪和色彩校正。 (二值化, 灰階, 反轉)結構化和簡單的數據輸出:IronOCR 提供結構化數據輸出 (頁面,區塊,段落,行,詞語,字符) 和簡單的數據輸出 (.NET 文本字串、條碼和 QR 資料、影像).

並行處理和計算機視覺: 該庫支持單線程和多線程、異步操作,並提供計算機視覺功能,以識別圖像中的文本區域,提高在複雜或嘈雜圖像中文本識別的準確性和效率。

要在您的 .NET 項目中安裝 IronOCR,根據您的開發環境和偏好,您可以使用多種方法。以下是一個簡化的指南,幫助您開始:

授權

IronOCR 提供各種授權選項,以滿足不同專案和開發者的需求,確保為使用者提供靈活性和可擴展性。授權條款是永久的,這意味著一旦購買授權,便不會有續訂費用。此外,每個授權包括 30 天退款保證、一年的產品支持和更新,並且適用於開發、測試和生產環境中。授權價格從 $749 起。您可以獲得一個 免費試用 在購買許可證之前。

安裝 IronOCR

  1. 移至 工具 -> NuGet 套件管理員 -> 套件管理員主控台

  2. 輸入指令 Install-Package IronOcr 並執行。此指令會擷取並安裝 IronOCR 到您的專案中,使其準備好使用。

Paddle OCR與Tesseract的比較(OCR 特性比較):圖5 - 使用套件管理器控制台安裝IronOCR

代码示例

以下是使用 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)
VB   C#

Paddle OCR 與 Tesseract(OCR 功能比較):圖 6 - 從上一篇代碼範例中的控制台輸出

比較

在評估 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 的授權,滿足各種規模的組織尋求性能和成本之間平衡的需求。

< 上一頁
iOS OCR 庫(免費和付費工具比較)
下一個 >
Abbyy Finereader與Tesseract(OCR功能比較)

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 2,433,305 查看許可證 >