與其他組件比較

谷歌OCR與IronOCR之間的比較

發佈 2023年5月16日
分享:

OCR 是光學字符識別的縮寫。它提供將圖像文件轉換為機器編碼文本的功能。電腦總是將掃描的文件保存為圖像文件。這些圖像文件中的數據無法使用普通文本編輯器或甚至使用文字處理應用程式進行搜索、編輯或保存為文本格式。OCR 處理有助於將這些圖像轉換為機器可讀文本,以便用戶進一步處理。

在這個現代時代,共享在網絡上的掃描文件是數位格式的,主要是 PDF 或圖像的形式。有很多在線資源可以將圖像轉換為文本。然而,大多數企業需要這種功能在他們的軟件應用程式中。考慮到這一點,有很多庫提供 OCR 處理技術,可以嵌入到軟件應用程式中。

在本文中,我們將討論兩個最流行的 C# OCR 庫。這些是:

  • IronOCR
  • Google Cloud Vision OCR (視覺API)

介紹

IronOCR - C# 函式庫

IronOCR for .NET 是 C# 的函式庫,用於掃描、搜索和讀取圖片和 PDF。它將圖片或 PDF 文件作為輸入,並使用最新的 Tesseract 5 自定義建構 .NET OCR 引擎,輸出文字、結構化數據或可搜索的 PDF 文檔。它的 Tesseract 支援超過 125 種語言,並且支援 .NET Core、Standard 的跨平台運行,從 2.0 到 7。

IronOCR 是一個用戶友好的 API,允許 C# 開發人員通過使用 IronTesseract 類和 API 金鑰自動將圖片轉換為文字。它優先考慮速度、準確性和易用性。它還幫助計算機視覺 API 使用訓練過的模型來找到文字。

IronOCR 的另一個強大功能是能夠從所有圖片文件中掃描條碼和 QR 碼並讀取其文字。IronOCR 的其他重要功能如下所示。

特點

  • 國際語言支援: 支援超過125種國際語言及自定義語言,解析度高且速度快
  • 文本和條碼讀取: 可同時讀取多種語言的文本和數字
  • 專業文件: 專門讀取收據、支票、發票中的文本
  • 支援多種格式: 圖片 (PNG、JPG、GIF、TIFF、BMP),System.Drawing Objects,流,PDF 文件 (最佳化目標DPI)
  • 過濾器: 過濾器嚮導, 圖像校正, 修正圖像方向, 修正圖像顏色
  • 簡易數據輸出: .NET 文字串, 條碼和 QR 數據, 圖像

現在來看看 Google Cloud Vision API。

Google Cloud Vision OCR

Google Cloud Vision API 是支持 C# 語言的 Google Cloud OCR 客戶端庫。它允許 C# 開發者輕鬆地在軟件應用程式中整合電腦視覺檢測功能。它執行 OCR 並從圖像文件中檢測文本、圖像標籤、人臉檢測、地標檢測。

Google Cloud Vision API 使用 REST 和 RPC API 提供強大的預訓練機器學習模型。 (機器學習) 模型。使用雲端導入視覺API,你可以快速將圖片分類到數百萬個已經預定義的類別中。它還可以檢測物體,從印刷文件和手寫文本中讀取文字。

功能

  • 圖像文字檢測:對圖像進行光學字符識別 (OCR),將其轉換為機器語言代碼
  • 文檔文字檢測:對文件進行光學字符識別 (OCR) (PDF/TIFF), 緊密文本
  • Land標檢測:返回檢測到的對象座標
  • 標誌檢測:返回文本描述
  • 標籤檢測:返回圖像的泛化標籤

這篇文章的其餘部分如下:

  1. 創建Visual Studio項目

  2. 安裝IronOCR

  3. 安裝Google OCR

  4. 圖像轉文本

  5. 條形碼和QR碼轉文本

  6. PDF轉文本

  7. 許可

  8. 結論

1. 建立 Visual Studio 專案

在本教程中,我們將使用最新版本的 Visual Studio 2022。所以,我假設你已經下載並安裝了它來使用 C#。如果沒有,你可以從以下網站下載 Visual Studio 網站現在,我們需要創建一個控制台項目以開始使用這兩個庫。請按照以下步驟創建項目:

  • 打開您的 Visual Studio 2022。
  • 點擊創建一個新項目。

    如何在 C# Windows 應用程序中打印條形碼   圖 1 - 創建一個新項目

  • 從給定選項中選擇 C# 控制台應用程式。

    如何在C# Windows應用程式中列印條碼    圖2 - 控制台應用程式

  • 以名稱和位置配置您的新專案。例如 "OCRProject"。
  • 點擊下一步。

    ![如何在 C# Windows 應用程式中列印條碼

圖 3 - 設定專案](/static-assets/ocr/blog/google-ocr-api-alternatives/google-ocr-api-alternatives-3.webp)

  • 從其他資訊中,選擇 .NET 6.0 Framework,因為它是最穩定的版本。

    如何在C# Windows應用程式中列印條碼 圖4 - 其他資訊

  • 現在,點擊「Create」並在您指定的位置創建項目。

接下來,我們將在項目中安裝庫進行比較。

2. 安裝 IronOCR

有多種方法可以安裝 IronOCR 庫。讓我們逐一看看它們。

2.1. 使用 Visual Studio NuGet 套件管理員

NuGet 是用於在您的項目中下載和安裝依賴項的套件管理員。其套件包含已編譯的程式碼 (DLL) 以及清單檔案。使用以下方法進行存取:

  • 點擊工具標籤
  • 展開NuGet套件管理器選項
  • 點擊為方案管理NuGet套件

    ![如何在 C# Windows 應用程序中列印條碼

圖 5 - NuGet 套件管理員](/static-assets/ocr/blog/google-ocr-api-alternatives/google-ocr-api-alternatives-5.webp)

  • 或者,右鍵點擊「方案總管」
  • 點擊「管理 NuGet 套件」

    如何在 C# Windows 應用程式中列印條碼 圖6 - 解決方案總管

現在,NuGet 套件管理器視窗將會打開。瀏覽 IronOCR 並點擊安裝。

如何在C# Windows應用程式中列印條碼 圖7 - IronOCR

2.2. 直接從 NuGet 網站下載

可以直接從 NuGet 官方網站下載。請遵循以下步驟:

  1. 點擊連結:“”。

  2. 點擊頁面右側的下載套件選項。

  3. 打開下載的套件,然後開始安裝。

  4. 最後,重新加載解決方案,即完成。

2.3. 使用 IronOCR 網頁下載

只需訪問 Iron Software 網站,並導航到 IronOCR for .NET 網頁。滾動到頁面底部,點擊下載 DLL 或下載 Windows 安裝程式。

如何在 C# Windows 應用程式中列印條碼 圖 8 - Iron Software 網站

一個Zip檔案將被下載。解壓縮它並添加到您的項目文件中或運行Windows安裝程式。按照以下步驟將它添加到您的項目中。

  1. 右鍵點擊Visual Studio中解決方案資源管理器中的項目依賴項。

  2. 然後,選擇“添加項目引用”選項。

  3. 瀏覽已下載的DLL文件位置。

  4. 最後,點擊“確定”以添加項目引用。

2.4. 在 Visual Studio 中使用命令提示符

  1. 在 Visual Studio 中導航到工具選項卡。

  2. 展開 NuGet 套件管理器選項。

  3. 選擇套件管理器主控台,並輸入以下命令:
    Install-Package IronOCR

這將自動下載並安裝 IronOCR 到您的項目中。

現在,我們準備好在項目中使用 IronOCR。

2.5. 添加必要的 IronOCR 命名空間

在源代碼文件的頂部添加一個命名空間, 這樣我們就可以訪問其功能。


    using IronOCR;

    using IronOCR;
Imports IronOCR
VB   C#

現在,讓我們安裝 Google Vision OCR。

3. 安裝 Google OCR

要在您的 C# 專案中使用 Vision API,您必須滿足以下先決條件

  1. 創建一個 Google 帳戶
  2. 從 Google Cloud Console 創建一個新項目
  3. 啟用計費
  4. 啟用 Vision API
  5. 創建服務帳戶並設置憑證
  6. 以 JSON 文件格式下載服務帳戶密鑰憑證

您可以從官方文檔中詳細了解 Google Cloud Vision 的設置和要求 這裡現在,要在 Visual Studio 中安裝用於執行 OCR 處理的 Google Cloud 客戶端庫,我們需要使用 NuGet 套件管理器。

3.1. 使用 NuGet 套件管理器

使用以下方法進行訪問:

  • 點擊工具選項卡
  • 展開 NuGet 套件管理器選項
  • 點擊管理解決方案的 NuGet 套件

    如何在 C# Windows 應用程式中打印條碼 圖 9 - 工具選項卡

  • 或者,右鍵點擊「方案總管」
  • 點擊「管理 NuGet 套件」

    如何在C# Windows應用程式中列印條碼 圖10 - 管理NuGet套件

現在,NuGet 套件管理器視窗將會開啟。瀏覽 Google Cloud Vision OCR 並點擊安裝。

![如何在 C# Windows 应用程序中打印条码

圖 11 - Google Cloud Vision OCR](/static-assets/ocr/blog/google-ocr-api-alternatives/google-ocr-api-alternatives-11.webp)

3.2. 添加 Google Vision API 命名空間

請包含以下命名空間以使用 Google OCR Vision API:


    using Google.Cloud.Vision.V1;

    using Google.Cloud.Vision.V1;
Imports Google.Cloud.Vision.V1
VB   C#

此外,使用在 JSON 文件中下載的密鑰憑證來設置環境變量。


    Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "key.json");

    Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "key.json");
Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "key.json")
VB   C#

現在,一切都設置完畢,可以使用了。

4. 圖像轉文本

從圖像中讀取數據是一項相當繁瑣的任務。影像的解析度和質量在提取內容時起著重要作用。這兩個庫都提供了光學字符識別 (OCR) 功能。 (光學字符識別) 從圖像中提取文本的功能。

4.1. 使用 IronOCR

IronOCR 透過其強大的 IronTesseract 類別,使開發人員能夠非常輕鬆地讀取圖像文件的內容。這裡我們將使用 PNG 圖像來进行演示。 從圖片檔案讀取文字 以及程式碼如下:


    var OCR = new IronTesseract();
    using (var Input = new OcrInput()){
        Input.AddImage("test-files/employmentapp.png");
        var Result = OCR.Read(Input);
        Console.WriteLine(Result.Text);
    }

    var OCR = new IronTesseract();
    using (var Input = new OcrInput()){
        Input.AddImage("test-files/employmentapp.png");
        var Result = OCR.Read(Input);
        Console.WriteLine(Result.Text);
    }
Dim OCR = New IronTesseract()
	Using Input = New OcrInput()
		Input.AddImage("test-files/employmentapp.png")
		Dim Result = OCR.Read(Input)
		Console.WriteLine(Result.Text)
	End Using
VB   C#

輸入圖片

![如何在 C# Windows 應用程式中列印條碼

圖 12 - 帶邊界框的輸入](/static-assets/ocr/blog/google-ocr-api-alternatives/google-ocr-api-alternatives-12.webp)

輸出

如何在C# Windows應用程序中打印條形碼 圖13 - 圖像輸出帶有各個單詞

IronOCR 的輸出與提供給它的原始圖像相匹配。代碼簡潔且易於理解,沒有任何技術性問題。

4.2. 使用 Google OCR

Google Cloud Vision OCR 也能將不同字體的圖像轉換成文本。首先,我們需要使用憑證檔案創建一個客戶端。然後使用這個客戶端對象,我們可以調用 DetectText 方法來獲取注釋形式的響應。代碼如下:


    Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "key.json");
    var client = ImageAnnotatorClient.Create();
    var image = Image.FromFile("test-files/employmentapp.png");
    var response = client.DetectText(image);
    foreach (var annotation in response)
    {
        if (annotation.Description != null)
        {
            Console.WriteLine(annotation.Description);
        }
    }

    Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "key.json");
    var client = ImageAnnotatorClient.Create();
    var image = Image.FromFile("test-files/employmentapp.png");
    var response = client.DetectText(image);
    foreach (var annotation in response)
    {
        if (annotation.Description != null)
        {
            Console.WriteLine(annotation.Description);
        }
    }
Environment.SetEnvironmentVariable("GOOGLE_APPLICATION_CREDENTIALS", "key.json")
	Dim client = ImageAnnotatorClient.Create()
	Dim image As System.Drawing.Image = System.Drawing.Image.FromFile("test-files/employmentapp.png")
	Dim response = client.DetectText(image)
	For Each annotation In response
		If annotation.Description IsNot Nothing Then
			Console.WriteLine(annotation.Description)
		End If
	Next annotation
VB   C#

相同的圖像被用作輸入,以比較兩個函式庫的輸出。

如何在 C# Windows 應用程式中列印條碼 圖 14 - 輸出

從上面的輸出中,您可以清楚地看到,IronOCR 保持了圖像輸出格式。儘管 Google OCR 提供了準確的輸出文本,但表格的格式沒有保持。IronOCR 完全保留了給定圖像中的表格格式。

5. 條碼和 QR Code 轉換為文字

5.1. 使用 IronOCR

IronOCR 在讀取圖像時提供了一個獨特且有用的功能,即它可以讀取條碼和 QR Code。它能夠檢測條碼並輕鬆顯示其值。首先,將 ReadBarCodes 配置設置為 true,然後迭代 OCR 結果中的每個條碼。讀取條碼的代碼如下所示:


    var OCR = new IronTesseract();
    OCR.Configuration.ReadBarCodes = true;
    using (var input = new OcrInput()){   
        input.AddImage("test-files/Barcode.png");   
        var Result = OCR.Read(input);   
        foreach (var Barcode in Result.Barcodes){
                Console.WriteLine(Barcode.Value);
        }
    }

    var OCR = new IronTesseract();
    OCR.Configuration.ReadBarCodes = true;
    using (var input = new OcrInput()){   
        input.AddImage("test-files/Barcode.png");   
        var Result = OCR.Read(input);   
        foreach (var Barcode in Result.Barcodes){
                Console.WriteLine(Barcode.Value);
        }
    }
Dim OCR = New IronTesseract()
	OCR.Configuration.ReadBarCodes = True
	Using input = New OcrInput()
		input.AddImage("test-files/Barcode.png")
		Dim Result = OCR.Read(input)
		For Each Barcode In Result.Barcodes
				Console.WriteLine(Barcode.Value)
		Next Barcode
	End Using
VB   C#

輸入圖片

如何在C# Windows應用程序中列印條碼 圖15 - 輸入

輸出

如何在 C# Windows 應用程式中列印條碼 圖 16 - 圖片輸出

輸入的三個條碼都成功讀取,其隱藏文字顯示出來。

5.2. 使用 Google OCR

Google Vision API 尚不允許此功能。在軟體應用程式中讀取條碼非常方便。然而,Google OCR 允許您提取手寫文本並從作為影像文件的掃描文檔中獲取文本。以下是標籤偵測的程式碼:


    var client = ImageAnnotatorClient.Create();
    var image = Image.FromUri("gs://cloud-samples-data/vision/using_curl/shanghai.jpeg");
    var labels = client.DetectLabels(image);

    Console.WriteLine("Labels (and confidence score):");
    Console.WriteLine(new String('=', 30));

    foreach (var label in labels)
    {
        Console.WriteLine($"{label.Description} ({(int)(label.Score * 100)}%)");
    }

    var client = ImageAnnotatorClient.Create();
    var image = Image.FromUri("gs://cloud-samples-data/vision/using_curl/shanghai.jpeg");
    var labels = client.DetectLabels(image);

    Console.WriteLine("Labels (and confidence score):");
    Console.WriteLine(new String('=', 30));

    foreach (var label in labels)
    {
        Console.WriteLine($"{label.Description} ({(int)(label.Score * 100)}%)");
    }
Imports System

Dim client = ImageAnnotatorClient.Create()
	Dim image = System.Drawing.Image.FromUri("gs://cloud-samples-data/vision/using_curl/shanghai.jpeg")
	Dim labels = client.DetectLabels(image)

	Console.WriteLine("Labels (and confidence score):")
	Console.WriteLine(New String("="c, 30))

	For Each label In labels
		Console.WriteLine($"{label.Description} ({CInt(Math.Truncate(label.Score * 100))}%)")
	Next label
VB   C#

輸出

如何在 C# Windows 應用程式中列印條碼 圖示 17 - 標籤檢測輸出

6. 將 PDF 轉換為文字

6.1. 使用 IronOCR

在 IronOCR中,讀取 PDF 文件就像讀取圖像文件一樣簡單。您只需將圖像讀取代碼中的 AddImage 方法更改為 AddPdf。代碼如下:


    var OCR = new IronTesseract();
    using (var Input = new OcrInput()){
        Input.AddPdf("test-files/example.PDF");
        var Result = OCR.Read(Input);
        Console.WriteLine(Result.Text);
    }

    var OCR = new IronTesseract();
    using (var Input = new OcrInput()){
        Input.AddPdf("test-files/example.PDF");
        var Result = OCR.Read(Input);
        Console.WriteLine(Result.Text);
    }
Dim OCR = New IronTesseract()
	Using Input = New OcrInput()
		Input.AddPdf("test-files/example.PDF")
		Dim Result = OCR.Read(Input)
		Console.WriteLine(Result.Text)
	End Using
VB   C#

輸出

提取的文本與 PDF 文件的格式相同。

如何在 C# Windows 應用程式中列印條碼 圖 18 - PDF 轉文字輸出

6.2. 使用 Google OCR

Google OCR 也提供從 PDF/TIFF 文件中提取文字的功能。然而,它只會檢測位於 Google Cloud Storage 的文件中的文字。為此,您需要創建一個 Google Storage 存儲桶。C# 的程式碼並不是那麼簡單,而且在這裡要實現也比較冗長。目前沒有 C# 的範例來檢測文件中的文字。您可以查看 Java 代碼 作為參考來嘗試一下。

7. 授權

IronOCR 可免費用於開發,但商業用途需取得授權。它還提供免費試用版,以便您測試其全部潛力。Lite 套餐從 $749 起開始。 免費試用. IronOCR 提供1年免費的產品支援和更新,之後每年為$399。所有授權都是永久的,意味著只需一次購買,無隱藏費用。您也可以選擇無版稅重發覆蓋範圍的 SaaS 和 OEM 產品,只需$1999一次購買。如需更多授權套餐和定價方案的資訊,請訪問 這裡.

如何在C# Windows應用程式中列印條碼 圖19 - IronOCR License

Google Cloud Vision 定價方案是根據應用程序在圖像上執行的操作數量來計算。對於像 PDF 這樣有多個頁面的文件,每個頁面都被視為一張圖像。此外,每個應用於圖像的功能都是單獨計費的單位。例如,如果您對同一張圖像應用文字檢測和標籤檢測,每個功能將分別計費。定價方案如下,欲了解更多信息,請訪問此 連結.

如何在 C# Windows 應用程式中列印條碼 圖 20 - Google Cloud Vision OCR 授權

8. 結論

IronOCR 為 C# 開發者提供了我們所知最先進的 Tesseract API,適用於任何平台。IronOCR 可以部署在 Windows、Linux、Mac、Azure、AWS、Lambda 上,並支持 .NET Framework 專案以及 .NET Standard 和 .NET Core。我們還可以在 OCR 掃描中讀取條碼,甚至將我們的 OCR 導出為 HTML 和可搜索的 PDF。

Google Cloud Vision API 是一個先進的 AI 構建的 API。它提供多種圖像分析功能,對於構建機器學習應用程式非常有幫助。它允許開發者使用 API 密鑰直接與 Google Cloud 通信,也就是說不需要在本地存儲文件。

IronOCR 授權是基於用戶的,這意味著您應該根據使用該產品的開發者數量購買授權。Google Cloud Vision 的授權則是根據要提取信息和分析數據的圖片數量計算的。這些授權是按月計費的,對於大批量圖片來說,價格相比 IronOCR 授權會非常高。此外,IronOCR 授權是一次性購買,可以終身使用,而且支持 OEM 和 SaaS 分發。

總而言之,這兩個庫都具有機器學習功能。IronOCR 對於 Google OCR 來說稍微有些優勢,因為它專為 C# .NET 框架而構建,這使得開發快速且省時。它只需幾行代碼即可提供所有功能,將編寫繁瑣代碼的負擔從開發人員身上移走。它基於最流行的 Tesseract 5 API,引入集成和分析圖片及其他文件格式,並能提供準確的輸出。另一方面,Google Vision OCR 基於 AI,更專注於 Java、Python 和 REST,並且僅在連接到 Google Cloud 時運行。這可能會因為響應來自服務器端而耗時。您可以根據您的具體需求選擇庫。

現在,您可以以2個產品的價格獲得5個 Iron 產品。Iron Suite 包含以下工具:

  • IronBarcode
  • IronXL
  • IronOCR
  • IronPDF
  • IronWebscraper

訪問這個 連結 探索更多。

您可以從這裡下載IronOCR 這裡.

< 上一頁
AWS 與 Google Vision(OCR 功能比較)
下一個 >
Iris 與 IronOCR 的 OCR 軟體比較

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

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