跳過到頁腳內容
與其他組件的比較
IronOCR 作為 Patagames Tesseract.NET 的替代選擇

IronOCR 和 Tesseract.NET 之間的比較

光學字元辨識技術可以辨識圖像中可讀的文字。 光學字元辨識技術有很多應用方式。 例如,它可以掃描和數位化舊紙本文件,並將其轉換為可搜尋的電子文件。 透過檢查照片和視頻,執法部門也能夠識別犯罪證據。 機器或電腦要能夠識別任何文件上的字符,就必須了解所使用的字體和書寫這些字符的文字系統。 這種理解通常來自稱為圖像識別演算法的人工智慧軟體,這些演算法經過大量文字圖像資料集的訓練和調整。

OCR是一項用途廣泛的重要技術。 它通常用於讀取掃描的紙本文檔,將其轉換為可透過電腦編輯和搜尋的數位檔案。 然而,OCR 也可應用於各種其他類型的信息,包括標牌或標籤上的印刷文本、支票、表格和其他商業記錄中的文本,甚至可以從錄音中轉錄醫療記錄。

本文將比較兩個.NET OCR 函式庫。

  • IronOCR
  • Tesseract .NET SDK

IronOCR功能

IronOCR是適用於.NET C# 和 VB 的最新、最先進的 OCR(光學字元辨識)函式庫。 IronOCR可以掃描所有影像格式的條碼和二維碼,並能讀取文字和使用最新的 Tesseract 5 引擎進行 PDF 掃描。 IronOCR只需幾行程式碼,無需新增程式庫,即可在所有.NET專案範本(例如桌面應用程式、控制台應用程式和 Web 應用程式)中新增 OCR 功能。 IronOCR是.NET專案中最精準的 OCR 引擎之一。

讓我們來探討一下IronOCR的一些獨特功能:

IronOCR專為.NET應用程式而設計。 IronOCR支援最多 125 種語言。

  • IronOCR可以校正傾斜影像的位置,並去除影像中的噪聲,從而實現精確輸出。
  • IronOCR在低解析度、低 DPI 的影像中表現出色。
  • IronOCR可以讀取多種類型的二維碼和條碼。
  • IronOCR也支援 Gif 和 Tiff 格式。
  • IronOCR支援多執行緒。 這是其他 OCR 庫所不具備的一項非常棒的功能。 它使流程更加順暢。 IronOCR可以輕鬆地對 PDF 文件執行 OCR 識別,並使用 OCR 匯出可搜尋的 PDF 文件。

IronOCR支援所有主要語言,包括阿拉伯語、中文、英語、芬蘭語、法語、德語、日語等等。 IronOCR提供以不同格式顯示輸出的功能,例如條碼資料、純文字或包含行、單字、段落和字元的 OCR 結果類別。 IronOCR使用 Tesseract 庫技術。

IronOCR與 Mac、Windows 和 Linux 系統相容。 它還支援 Azure 和 Docker 雲端解決方案。 IronOCR的最新更新將.NET Core 3.1 和.NET 6 加入了支援清單中,也提供了對 MacOS 版 Xamarin 的支援。

Tesseract OCR 函式庫功能

Tesseract .NET SDK 是 Patagames 的產品,它是一個用於.NET專案的光學字元辨識 (OCR) 函式庫,提供了一種在.NET應用程式中新增 OCR 功能(例如文字辨識)的方法。 Tesseract .NET SDK 是一個 OCR 引擎,可以讀取各種圖像格式並將圖像轉換為文字。 它支援多達 60 種語言。 它還支援讀取和掃描 PDF 文檔,並將其轉換為可搜尋的 PDF 文件。 簡而言之,Tesseract .NET SDK 是一個基於 Tesseract OCR 專案的類別庫。 它配備了用於執行 OCR 的 Tesseract 引擎。 Patagames.Ocr.xml 包含 API 的XML 文件

Tesseract .NET SDK 支援 32 位元和 64 位元作業系統上的.NET Framework 2.0 至 4.5。 該 SDK 可用於 Windows XP 以及其他 Windows 版本,例如 Windows 7、Vista、8、10 和 11。它相容於 32 位元和 64 位元作業系統,因此可在任何 CPU 上輕鬆使用。

遺憾的是, .NET SDK 不適用於 macOS 或 Linux。

使用IronOCR和 Tesseract .NET SDK

讓我們來看看如何在我們的專案中使用IronOCR和 Tesseract .NET SDK。

在 Visual Studio 中建立 C# 項目

我們使用 Visual Studio 2022 版本來建立這個專案。 為了獲得流暢的開發體驗,建議使用最新版本的 Visual Studio。 接下來,開啟 Visual Studio,然後點擊"建立新專案"。 之後,從範本中點擊"控制台應用程式",並配置您的專案。

Tesseract Net Core Alternatives 1 related to 在 Visual Studio 中建立 C# 項目

現在請輸入項目名稱。 我將把標題命名為"IronOCR vs Tesseract .NET SDK"。 之後,選擇要建立專案的路徑,然後按 Enter 鍵。

Tesseract Net Core Alternatives 2 related to 在 Visual Studio 中建立 C# 項目

之後,選擇.NET版本。 我們使用的是最新版本的.NET,即.NET 6, IronOCR支援此版本。 您可以根據專案需求選擇最合適的方案。

Tesseract Net Core Alternatives 3 related to 在 Visual Studio 中建立 C# 項目

點擊"建立"按鈕後,項目範本將建立項目,現在可以安裝庫了。 我們直接安裝庫檔案。

安裝IronOCR和 Tesseract .NET SDK

現在是時候安裝庫並檢查功能了。 首先,我們將安裝IronOCR庫。

安裝IronOCR

IronOCR支援多種安裝方式。 我們可以選擇任何方法。 所有方法都安全。

  • 使用 Visual Studio NuGet套件管理器
  • 使用NuGet套件管理器命令列。
  • Direct download from the NuGet website.
  • Direct download from the IronOcr website.

使用 Visual Studio NuGet套件管理器

我們可以使用 Visual Studio 中的NuGet套件管理器 GUI 安裝IronOCR庫。 我們可以透過點擊"工具"> "NuGet套件管理器">"管理解決方案的NuGet套件"來存取它。

Tesseract Net Core Alternatives 4 related to 使用 Visual Studio NuGet套件管理器

前往"瀏覽"標籤並蒐索IronOCR。 從搜尋結果中選擇IronOCR並將其安裝到我們的專案中。

Tesseract Net Core Alternatives 5 related to 使用 Visual Studio NuGet套件管理器

現在,我們已經在專案中安裝了IronOCR庫。 它已準備好在我們的.NET專案中使用。

使用NuGet套件管理器命令列

我們可以使用NuGet套件管理器控制台來安裝IronOCR庫。 轉到命令列(通常位於程式碼檔案下方),然後在命令列中輸入以下行並按 Enter 鍵。

Install-Package IronOcr

它將開始安裝IronOCR庫。 安裝完成後,即可在我們的專案中使用。

安裝 Tesseract .NET SDK

我們可以使用NuGet套件管理器安裝 Tesseract .NET SDK。 若要安裝 Tesseract .NET SDK,請前往"工具"> "NuGet套件管理員">"管理解決方案的NuGet套件" 。 前往"瀏覽"選項卡,搜尋 Tesseract .NET SDK。 從搜尋結果中選擇 Tesseract .NET SDK 並進行安裝。 安裝完成後,我們就可以在程式中使用 Tesseract .NET SDK 了。

Tesseract Net Core Alternatives 6 related to 安裝 Tesseract .NET SDK

安裝完成後,您可以在解決方案資源管理器中看到這三個資料夾。

Tesseract Net Core Alternatives 7 related to 安裝 Tesseract .NET SDK

這些資料夾包含 Tesseract 執行 OCR 所需的基本資料。 現在我們已準備好將OCR功能嵌入到我們的專案中。

OCR影像

現在是時候測試IronOCR和 Tesseract .NET SDK 的功能了。 這兩個庫都可以對影像進行OCR辨識。 我們將使用帶有文字的傾斜且有雜訊的圖像來測試它們。

測試影像

我們將使用這張圖像進行測試。

Tesseract Net Core Alternatives 8 related to 測試影像

使用 Tesseract .NET SDK

首先,我們將查看 Tesseract .NET SDK 為測試影像產生的輸出。 我們來看一下程式碼:

using Patagames.Ocr;

// Use the OcrApi class to create an API instance for OCR
using (var api = OcrApi.Create())
{
    // Initialize the OCR API with the English language
    api.Init(Patagames.Ocr.Enums.Languages.English);
    // Extract text from the image at the specified path
    string plainText = api.GetTextFromImage(@"C:\Users\Administrator\Desktop\Input.jpg");
    // Print the extracted text to the console
    Console.WriteLine(plainText);
}
using Patagames.Ocr;

// Use the OcrApi class to create an API instance for OCR
using (var api = OcrApi.Create())
{
    // Initialize the OCR API with the English language
    api.Init(Patagames.Ocr.Enums.Languages.English);
    // Extract text from the image at the specified path
    string plainText = api.GetTextFromImage(@"C:\Users\Administrator\Desktop\Input.jpg");
    // Print the extracted text to the console
    Console.WriteLine(plainText);
}
$vbLabelText   $csharpLabel

首先,我們將匯入 Patagames.OCR 庫以使用 Tesseract .NET SDK。 之後,我們將使用 Create 函數建立一個 OcrApi。 然後,我們將使用 Init 函數將預設語言設定為英文。 接下來,我們使用 GetTextFromImage 方法從圖像中提取純文本,並在參數中提供圖像檔案的路徑。 然後,我們將提取的文字寫入控制台。

接下來,請查看 Tesseract .NET SDK 產生的輸出:

Tesseract Net Core Alternatives 9 related to 使用 Tesseract .NET SDK

所以,這是我們從 Tesseract .NET SDK 得到的輸出。 起初,它會根據解析度給出錯誤提示,這表明它只適用於高解析度影像。 錯誤處理後,我們可以看到從圖像中提取的文字。 如果我們把這段文字和這張圖片做比較,就會發現它們完全不同。 提取的文本包含大量無關且毫無意義的內容。 整體而言,Tesseract .NET SDK 未能通過此測試。

使用IronOCR

接下來,我們將看到IronOCR的結果。 在查看結果之前,我們先來看看IronOCR的程式碼:

using IronOcr;

// Initialize the IronTesseract class for performing OCR
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.EnglishBest;

// Use OcrInput to prepare the image for processing
using (var Input = new OcrInput())
{
    Input.AddImage(@"C:\Users\Administrator\Desktop\Input.jpg");
    // Correct the skew and noise in the image
    Input.Deskew();
    Input.DeNoise();
    // Perform OCR and get the result
    var Result = Ocr.Read(Input);
    // Print the recognized text to the console
    Console.WriteLine(Result.Text);
}
using IronOcr;

// Initialize the IronTesseract class for performing OCR
var Ocr = new IronTesseract();
Ocr.Language = OcrLanguage.EnglishBest;

// Use OcrInput to prepare the image for processing
using (var Input = new OcrInput())
{
    Input.AddImage(@"C:\Users\Administrator\Desktop\Input.jpg");
    // Correct the skew and noise in the image
    Input.Deskew();
    Input.DeNoise();
    // Perform OCR and get the result
    var Result = Ocr.Read(Input);
    // Print the recognized text to the console
    Console.WriteLine(Result.Text);
}
$vbLabelText   $csharpLabel

在上面的程式碼中,我們將IronOCR庫導入到我們的程式中,然後創建了 IronTesseract 對象,這有助於啟動該過程。 之後,我們將流程語言設定為英文。 現在可以開始正式工作了。 我們建立了 OcrInput 物件。 使用 AddImage 函數將影像路徑指派給 Input 變數。 我們使用 Deskew 函數將影像旋轉到實際位置,然後使用 DeNoise 函數去除影像中的雜訊。 這將帶來更好的結果。 之後,我們使用 Read 函數來識別文字並將其從測試圖像中提取出來。 接下來,我們在控制台中顯示結果。 您也可以將輸出結果儲存為專案文件中的 PDF 檔案。

以下是IronOCR產生的輸出結果:

Tesseract Net Core Alternatives 10 related to 使用IronOCR

如果對比輸出結果,會發現它與影像上的文字完全相同。 IronOCR能夠完美提取文本,沒有任何錯誤。 IronOCR可以從扭曲和旋轉的圖像中提取文字。 即使是低解析度影像也能正常顯示。

IronOCR也支援添加多幀影像。 我們可以使用"AddMultiFrameTiff"方法來執行此操作。 IronOCR會讀取圖片中的每一幀,並將每一幀視為單獨的頁面。 此方法僅支援 Tiff 影像。

using IronOcr;

// Initialize the IronTesseract class for performing OCR
var Ocr = new IronTesseract();

using (var Input = new OcrInput())
{
    // Add a multi-frame TIFF image for OCR processing
    Input.AddMultiFrameTiff("images/multiframe.tiff");

    // Perform OCR and get the result
    var Result = Ocr.Read(Input);
    // Print the recognized text to the console
    Console.WriteLine(Result.Text);
}
using IronOcr;

// Initialize the IronTesseract class for performing OCR
var Ocr = new IronTesseract();

using (var Input = new OcrInput())
{
    // Add a multi-frame TIFF image for OCR processing
    Input.AddMultiFrameTiff("images/multiframe.tiff");

    // Perform OCR and get the result
    var Result = Ocr.Read(Input);
    // Print the recognized text to the console
    Console.WriteLine(Result.Text);
}
$vbLabelText   $csharpLabel

讓我們來看看產生可搜尋 PDF 的程式碼:

using IronOcr;

// Initialize the IronTesseract class for performing OCR
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    // Add multiple images for processing
    Input.AddImage(@"images\page1.png");
    Input.AddImage(@"images\page2.bmp");
    Input.AddMultiFrameTiff(@"images\page3.tiff");

    // Deskew the images to correct orientation
    Input.Deskew();

    // Perform OCR and save the result as a searchable PDF
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;

// Initialize the IronTesseract class for performing OCR
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    // Add multiple images for processing
    Input.AddImage(@"images\page1.png");
    Input.AddImage(@"images\page2.bmp");
    Input.AddMultiFrameTiff(@"images\page3.tiff");

    // Deskew the images to correct orientation
    Input.Deskew();

    // Perform OCR and save the result as a searchable PDF
    var Result = Ocr.Read(Input);
    Result.SaveAsSearchablePdf("searchable.pdf");
}
$vbLabelText   $csharpLabel

SaveAsSearchablePdf 功能有助於將檔案儲存為可搜尋檔案。

其他功能

  • 對比度:此影像濾鏡會將每個像素變為黑色或白色,沒有中間色調。
  • 深度清除背景雜訊:如果已知文件背景噪音極大,請使用此篩選器。
  • 反轉:反轉所有顏色。 例如:白色變成黑色,黑色變成白色。
  • 替換顏色:用另一種顏色取代目前顏色,以減少雜訊。
  • ToGrayScale:此影像濾鏡將每個像素轉換為灰階陰影。
  • 以及許多其他功能和特性。

IronOCR功能

IronOCR支援 125 種語言。 IronOCR也支援 20 多種類型的二維碼和條碼讀取。 IronOCR可以將影像轉換為灰階影像,以獲得更好的效果。 IronOCR可以手動和自動增強影像解析度。 它還支援自動對比度功能,以獲得最佳效果。 IronOCR可以將文件匯出為多種語言和格式,例如可搜尋的 PDF、HTML 匯出以及任何頁面的圖像。 IronOCR支援多種輸入格式,例如以下格式:

  • 圖片(JPG、PNG、GIF、Tiff、BMP)
  • 多頁 GIF 和 TIFF
  • 系統繪圖對象
  • 串流媒體
  • PDF文件

授權

IronOCR

IronOCR可免費用於開發。 它還提供免費試用版供開發人員使用。 IronOCR為生產提供多種定價方案。 您可以購買最符合您需求的套餐。 我們提供個人、開發者團隊和組織層級的定價方案。 Lite 套餐的價格從 $799 起,適用於一位開發者和一個專案。 所有方案均為一次性付款。 用戶可享一年免費更新服務。 它還支援SaaS和OEM覆蓋範圍。 專業版套餐售價為 $999,無限版套餐售價為 $2,999。 無限套餐包含無限的開發人員、專案和地點。

Tesseract Net Core Alternatives 11 related to IronOCR

You can learn more about the pricing plans by following this link. 此外, Iron Software目前還有一項特別優惠活動,您可以以兩套軟體的價格購買一套包含五套軟體的套裝。 這五款軟體包都非常優秀: IronPDF、 IronXL、 IronOCR、 IronBarcode和 IronWebscraper。

Tesseract .NET SDK

Tesseract .NET SDK 也提供定價方案。 Tesseract .NET SDK 計畫從 $220 起,適用於一名開發人員和一個專案。 需要注意的是,該定價方案包含續訂方案。 因此,您需要按年或按月付費,以確保 Tesseract .NET SDK 在您的專案中正常運作。 You can learn more about the pricing plan for the Tesseract.NET SDK at this link.

Tesseract Net Core Alternatives 12 related to Tesseract .NET SDK

結論

IronOCR是完成目前任務的完美庫。 IronOCR也支援 125 種語言,這意味著它在全球範圍內被廣泛接受。 它支援多種影像格式和PDF格式的輸入處理。 它還會對影像進行預處理,以確保最佳效果。 IronOCR是一個功能強大的.NET函式庫。 它可以識別圖像特定區域中的文字。 IronOCR注重準確性,在這方面輸出結果確實令人驚訝。 開發人員無需任何額外的文件和庫即可執行 OCR。 總而言之,這是一座完美的圖書館。

Tesseract .NET SDK 也是一個用於.NET專案的音訊庫。 它提供60種語言的OCR服務。 它基於 Tesseract OCR 項目。 它具備一系列功能,可以將掃描影像轉換為可搜尋的 PDF 檔案。 Tesseract .NET SDK 可接受多種影像格式進行輸入處理。 它提供高級服務來支援其在.NET專案中的 OCR 功能。

IronOCR和 Tesseract .NET SDK 都有定價方案。 但是, IronOCR 的定價方案更加多樣化,而且也比 Tesseract .NET SDK 更便宜。 這是因為IronOCR只接受一次性付款,而 Tesseract .NET SDK 則按月或按年續約。 因此,從長遠來看,即使 Tesseract .NET SDK 的起價低於IronOCR,你也必然要為它支付更多費用。

透過分析整個場景並測試兩個函式庫的功能,我們可以得出結論:對於模糊、旋轉、傾斜且略帶雜訊的文檔, IronOCR在效能方面比 Tesseract .NET SDK 更勝一籌。 這兩個庫的 OCR 功能都不錯,但IronOCR是一個高級庫,具有更好的功能,例如影像預處理、降噪和將圖片旋轉到原始位置。 Tesseract .NET SDK 支援最多 60 種語言,而IronOCR支援最多 125 種語言。 Tesseract .NET SDK 需要為不同語言提供額外的文件,這會增加程式的體積。 此外,Tesseract .NET SDK 上次更新已經是很久以前的事了。

IronOCR offers a free trial for production tests. 目前,它還提供一項非常優惠的特別優惠,您可以以兩套 Iron Software 軟體包的價格購買全套五組Iron Software軟體包。 You can get more information about the offer at this link.

請注意Tesseract OCR SDK 是其各自所有者的註冊商標。 本網站與 Tesseract OCR SDK 無任何關聯,也未獲得其認可或贊助。 所有產品名稱、標誌和品牌均為其各自所有者的財產。 比較僅供參考,反映的是撰寫本文時可公開取得的資訊。

常見問題解答

IronOCR 如何改進 Tesseract.NET SDK 用於 OCR 操作?

IronOCR 提供更好的性能,能夠處理低分辨率、傾斜或噪點圖片,這是由於其先進的圖像預處理能力和對多執行緒的支持,使其相比 Tesseract.NET SDK 更加堅固。

IronOCR 支持哪些 OCR 語言?

IronOCR 支持 125 種語言,為多樣化的 OCR 項目提供全面的語言支持,而 Tesseract.NET SDK 則支持 60 種語言。

IronOCR 能否用於跨平台環境?

可以,IronOCR 與 Windows、Mac 和 Linux 系統兼容,並可集成到 Azure 和 Docker 等雲解決方案中,這使得其在跨平台開發中極具靈活性。

IronOCR 的安裝方法有哪些?

IronOCR 可透過 Visual Studio 的 NuGet 套件管理員、NuGet 套件管理員控制台,或直接從 NuGet 或 Iron Software 網站下載安裝。

IronOCR 如何處理圖像預處理?

IronOCR 包含先進的圖像預處理功能,如矯正和去噪聲,通過在文本提取之前準備圖像來提高 OCR 的準確性。

IronOCR 有哪些許可選項?

IronOCR 提供多種許可選項,例如個人和開發團隊許可,Lite 計劃的單次付款和一年的免費更新,還有專業和無限計劃可選。

IronOCR 可以處理哪些格式?

IronOCR 可以處理多種類型的輸入格式,包括圖像和 PDF,使這些格式可以轉換為文本或可搜索的 PDF 文件。

IronOCR 如何支持多執行緒?

IronOCR 支持多執行緒,允許其同時處理多個 OCR 任務,提高大型項目的效率和性能。

IronOCR 在處理複雜圖像情境中有哪些優勢特性?

IronOCR 出色地處理複雜圖像情境,具備先進的圖像預處理、多執行緒支持以及廣泛的語言兼容性,使其相比簡單的 OCR 庫是更好的選擇。

Kannaopat Udonpant
軟體工程師
在成為軟件工程師之前,Kannapat 從日本北海道大學完成了環境資源博士學位。在追逐學位期间,Kannapat 還成為了生產工程系一部份——汽車机器人實验室的成員。2022 年,他利用他的 C# 技能加入 Iron Software 的工程團隊, 專注於 IronPDF。Kannapat 珍惜他的工作,因為他直接向编写大部分 IronPDF 使用的代碼的開發者学习。除了同行学习,Kannapat 还喜欢在 Iron Software 工作的社交十环。当他不编写代碼或文檔時,Kannapat 通常在他的 PS5 上打游戏或重看《The Last of Us》。

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我