OCR 工具

Azure OCR 與 Google OCR(OCR 功能比較)

發佈 2024年4月3日
分享:

在當今的數位環境中,光學字符識別(光學字符識別)技術已成為企業尋求從圖像、PDF 和其他文檔中高效提取文本的不可或缺之物。 在眾多光學字符識別(OCR)解決方案的功能中,微軟Azure OCR與Google OCR,及IronOCR脫穎而出,成為領先的競爭者,各自提供獨特的功能和能力。 在本文中,我們討論這些OCR服務、它們的功能以及應該選擇哪一個。

1. 光學字符識別服務介紹

OCR 服務是基於雲端的平台,利用先進的機器學習算法從圖像和文件中提取文本。 他們提供一系列功能,包括多語言支持、版面檢測和手寫識別。 Azure OCR、Google OCR 和 IronOCR 是廣泛使用的 OCR 服務,每個都有其優勢和應用。

2. Azure 光學字符識別 (光學字符識別)

Azure 光學字符識別 (光學字符識別)作為 Microsoft Azure 認知服務套件的一部分,該工具為文本識別任務提供了一個可靠且可擴展的解決方案。 它支持多種語言和文件格式,非常適合多種使用情境。 Microsoft Azure OCR 憑藉深度學習模型實現高精度的文字提取,讓企業能夠高效地精簡文件處理工作流程。Azure 更像是一種計算機視覺服務。

2.1 Azure OCR 的主要功能

  • 語言支持:Microsoft Azure OCR 支持超過 70 種語言,包括複雜的文字,如阿拉伯文和中文。
  • 文件格式:它可以處理各種文件格式,包括圖片、PDF和掃描文件。
  • 可擴展性:Azure OCR 能夠無縫擴展以處理大量文本提取請求,使其適用於企業級應用程序。

2.2 範例程式碼 (C#)

using Microsoft.Azure.CognitiveServices.Vision.ComputerVision;
using Microsoft.Azure.CognitiveServices.Vision.ComputerVision.Models;
using System;
class Program
{
    static async Task Main(string [] args)
    {
        // Create an instance of the ComputerVisionClient
        ComputerVisionClient client = new ComputerVisionClient(new ApiKeyServiceClientCredentials("YOUR_API_KEY"))
        {
            Endpoint = "https://YOUR_REGION.api.cognitive.microsoft.com/"
        };
        // Specify the image URL
        string imageUrl = "https://example.com/image.jpg";
        // Perform OCR on the image
        OcrResult result = await client.RecognizePrintedTextAsync(true, imageUrl);
        // Display the extracted text
        foreach (var region in result.Regions)
        {
            foreach (var line in region.Lines)
            {
                foreach (var word in line.Words)
                {
                    Console.Write(word.Text + " ");
                }
                Console.WriteLine();
            }
        }
    }
}
using Microsoft.Azure.CognitiveServices.Vision.ComputerVision;
using Microsoft.Azure.CognitiveServices.Vision.ComputerVision.Models;
using System;
class Program
{
    static async Task Main(string [] args)
    {
        // Create an instance of the ComputerVisionClient
        ComputerVisionClient client = new ComputerVisionClient(new ApiKeyServiceClientCredentials("YOUR_API_KEY"))
        {
            Endpoint = "https://YOUR_REGION.api.cognitive.microsoft.com/"
        };
        // Specify the image URL
        string imageUrl = "https://example.com/image.jpg";
        // Perform OCR on the image
        OcrResult result = await client.RecognizePrintedTextAsync(true, imageUrl);
        // Display the extracted text
        foreach (var region in result.Regions)
        {
            foreach (var line in region.Lines)
            {
                foreach (var word in line.Words)
                {
                    Console.Write(word.Text + " ");
                }
                Console.WriteLine();
            }
        }
    }
}
Imports Microsoft.Azure.CognitiveServices.Vision.ComputerVision
Imports Microsoft.Azure.CognitiveServices.Vision.ComputerVision.Models
Imports System
Friend Class Program
	Shared Async Function Main(ByVal args() As String) As Task
		' Create an instance of the ComputerVisionClient
		Dim client As New ComputerVisionClient(New ApiKeyServiceClientCredentials("YOUR_API_KEY")) With {.Endpoint = "https://YOUR_REGION.api.cognitive.microsoft.com/"}
		' Specify the image URL
		Dim imageUrl As String = "https://example.com/image.jpg"
		' Perform OCR on the image
		Dim result As OcrResult = Await client.RecognizePrintedTextAsync(True, imageUrl)
		' Display the extracted text
		For Each region In result.Regions
			For Each line In region.Lines
				For Each word In line.Words
					Console.Write(word.Text & " ")
				Next word
				Console.WriteLine()
			Next line
		Next region
	End Function
End Class
VB   C#

2.2.1 輸出

Azure OCR 對比 Google OCR(OCR 功能比較):圖 1 - Azure OCR 程式碼的控制台輸出

3. Google OCR

Google OCR作為 Google Cloud 服務提供商的一部分,提供強大的文本識別和文件分析平台。 利用 Google 的先進機器學習算法,它提供準確的文本提取功能,並透過雲端運算提供圖像標記和物體檢測等附加功能。 Google 雲端平台 OCR 廣泛應用於各種行業,如發票處理、表格識別和內容數位化。

3.1 Google OCR 的關鍵功能

  • 多語言支持:Google OCR 支援超過 200 種語言,並能夠識別多種文字系統,包括拉丁字母、西里爾字母和漢字。
  • 影像分析:提供進階的影像分析功能,例如標籤檢測、人臉檢測和地標識別。
  • 與 Google 雲端服務整合:Google OCR 無縫融合了其他 Google Cloud 視覺 API 服務,使開發人員能夠構建全面的文件管理和分析解決方案。

3.2 範例程式碼 (C#)

using Google.Cloud.Vision.V1;
using Google.Protobuf;
using System.IO;
using Google.Apis.Auth.OAuth2;
var clientBuilder = new ImageAnnotatorClientBuilder { CredentialsPath = "path-to-credentials.json" };
var client = clientBuilder.Build();
var image = Image.FromFile("path-to-your-image.jpg");
var response = client.DetectText(image);
foreach (var annotation in response)
{
    Console.WriteLine(annotation.Description);
}
using Google.Cloud.Vision.V1;
using Google.Protobuf;
using System.IO;
using Google.Apis.Auth.OAuth2;
var clientBuilder = new ImageAnnotatorClientBuilder { CredentialsPath = "path-to-credentials.json" };
var client = clientBuilder.Build();
var image = Image.FromFile("path-to-your-image.jpg");
var response = client.DetectText(image);
foreach (var annotation in response)
{
    Console.WriteLine(annotation.Description);
}
Imports Google.Cloud.Vision.V1
Imports Google.Protobuf
Imports System.IO
Imports Google.Apis.Auth.OAuth2
Private clientBuilder = New ImageAnnotatorClientBuilder With {.CredentialsPath = "path-to-credentials.json"}
Private client = clientBuilder.Build()
Private image = System.Drawing.Image.FromFile("path-to-your-image.jpg")
Private response = client.DetectText(image)
For Each annotation In response
	Console.WriteLine(annotation.Description)
Next annotation
VB   C#

3.2.1 輸出

Azure OCR與Google OCR(OCR功能比較):圖2 - Google OCR程式碼的控制台輸出

4. IronOCR

IronOCR由 Iron Software 開發的,是一個多功能的 OCR 庫,用於 .NET 應用程式,提供業界領先的 OCR 準確性和效能。 與基於雲的OCR服務不同,IronOCR 提供內部部署的文本提取功能,適用於需要數據隱私和安全的應用程式。 IronOCR 在準確性方面表現出色,尤其是在涉及複雜版面、手寫文本和噪聲圖片的情境下,使其成為尋求可靠 OCR 功能的企業的首選。

4.1 IronOCR 的主要功能

  • 高精確度:IronOCR 在文字識別上提供卓越的準確性,確保在各種文件類型和語言中獲得可靠的結果。
  • 內部部署OCR:提供內部部署的文字提取功能,使企業能夠在本地處理敏感文件,而無需依賴外部服務。
  • 多功能語言支援:IronOCR支持超過127種語言,並提供全面的語言包,以實現無縫的多語文本識別。

4.2 安裝 IronPDF

您可以使用 NuGet 套件管理器在控制台中安裝 IronOCR,只需運行以下命令。

  1. 打開 Visual Studio,然後建立一個新專案或打開已存在的專案。

    1. 在工具欄中,前往工具並選擇 NuGet 封裝管理器。

    Azure OCR vs Google OCR(OCR 功能比較):圖 3 - 在 Visual Studio 中找到 NuGet 套件管理員的地方

  2. 現在從新出現的列表中選擇套件管理器主控台。

  3. 現在將出現控制台,運行以下命令並按 Enter。
Install-Package IronOcr

安裝 IronOCR 將需要一些時間,但一旦完成我們便可以開始進行編碼範例。

4.3 代碼範例 (C#)

using IronOcr;
using System;
class Program
{
    static void Main(string [] args)
    {
        // Specify the path to the image file
        string imagePath = "path-to-your-image.jpg";
        // Instantiate the IronTesseract OCR engine
        var ocr = new IronTesseract();
        // Set the language for text recognition
        ocr.Language = OcrLanguage.English;
        // Perform text recognition on the image
        var result = ocr.Read(imagePath);
        // Display the extracted text
        Console.WriteLine("Extracted Text:");
        Console.WriteLine(result.Text);
    }
}
using IronOcr;
using System;
class Program
{
    static void Main(string [] args)
    {
        // Specify the path to the image file
        string imagePath = "path-to-your-image.jpg";
        // Instantiate the IronTesseract OCR engine
        var ocr = new IronTesseract();
        // Set the language for text recognition
        ocr.Language = OcrLanguage.English;
        // Perform text recognition on the image
        var result = ocr.Read(imagePath);
        // Display the extracted text
        Console.WriteLine("Extracted Text:");
        Console.WriteLine(result.Text);
    }
}
Imports IronOcr
Imports System
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Specify the path to the image file
		Dim imagePath As String = "path-to-your-image.jpg"
		' Instantiate the IronTesseract OCR engine
		Dim ocr = New IronTesseract()
		' Set the language for text recognition
		ocr.Language = OcrLanguage.English
		' Perform text recognition on the image
		Dim result = ocr.Read(imagePath)
		' Display the extracted text
		Console.WriteLine("Extracted Text:")
		Console.WriteLine(result.Text)
	End Sub
End Class
VB   C#

4.3.1 輸出

Azure OCR 與 Google OCR(OCR 功能比較):圖 4 - IronOCR 程式碼的主控台輸出

5 比較評估

5.1 準確性與性能

  • Microsoft Azure OCR 和 Google OCR 提供高準確度的文字提取,適用於各種應用程式。
  • IronOCR 在精確性方面表現出色,特別是在涉及複雜佈局、手寫文件和有噪音的影像的情境中。

5.2 易於整合

  • Microsoft Azure OCR 和 Google Cloud solutions OCR 提供基於雲的 OCR 服務,便於與雲應用程式和服務的整合。
  • IronOCR 提供內部部署的 OCR 功能,並可與 .NET 應用程式無縫整合,具備直觀的 API 和豐富的文件資料。

5.3 可擴展性

  • Microsoft Azure OCR 和 Google OCR 能夠無縫擴展以處理大量文本提取請求,使其適合企業級應用程式。
  • IronOCR 的可擴展性取決於應用程式的基礎設施,因為它在本地運行。

6. 結論

在所有OCR工具中,Azure OCR、Google Vision API,以及IronOCR被稱為強大的OCR解決方案,能夠在文本提取任務中提供高精度和高性能。 雖然 Azure OCR 和 Google OCR 提供具可擴展性基礎設施及廣泛語言支援的雲端 OCR 服務,但 IronOCR 以其最精確的解決方案而脫穎而出。

IronOCR 尤其適用於需要內部部署文本提取和卓越準確性的應用程式。 通過利用IronOCR,企業可以精簡文件處理工作流程,提高數據提取準確性,並從掃描文件和圖像中獲得有價值的見解,使其成為首選。

如需了解有關 IronOCR 及其服務的更多信息,請訪問IronOCR Documentation 頁面授權,開始轉變您處理圖像的方式。

< 上一頁
Windows OCR Engine 與 Tesseract:詳細比較
下一個 >
最佳免費開發者OCR軟體

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

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