Przejdź do treści stopki
NARZęDZIA OCR

Azure OCR a Google OCR (porównanie funkcji OCR)

W dzisiejszym cyfrowym środowisku technologia rozpoznawania optycznego znaków (OCR) stała się niezbędna dla firm poszukujących wydajnego wyodrębniania tekstu z obrazów, PDF-ów i innych dokumentów. Spośród dostępnych rozwiązań OCR, Microsoft Azure OCR, Google OCR i IronOCR wyróżniają się jako czołowi pretendenci, z każdym oferującym unikalne funkcje i możliwości. W niniejszym artykule omawiamy te usługi OCR, ich cechy i który z nich wybrać.

1. Wprowadzenie do usług OCR

Usługa OCR to platforma oparta na chmurze, wykorzystująca zaawansowane algorytmy uczenia maszynowego do wyodrębniania tekstu z obrazów i dokumentów. Azure OCR, Google OCR i IronOCR to powszechnie używane usługi OCR, każda z własnymi mocnymi stronami i zastosowaniami.

2. Azure OCR

The Azure OCR tool, as part of the Microsoft Azure Cognitive Services suite, offers a reliable and scalable solution for text recognition tasks. Obsługuje szeroki zakres języków i formatów dokumentów, co czyni go odpowiednim do różnych zastosowań. Microsoft Azure OCR wykorzystuje modele głębokiego uczenia do osiągnięcia wysokiej dokładności w wyodrębnianiu tekstu, umożliwiając firmom sprawne przetwarzanie przepływów pracy z dokumentami. Azure jest bardziej jak usługa wizji komputerowej.

2.1 Kluczowe funkcje Azure OCR

  • Wsparcie językowe: Microsoft Azure OCR obsługuje ponad 70 języków, w tym skomplikowane znaki, takie jak arabski i chiński.
  • Formaty dokumentów: Może przetwarzać różne formaty dokumentów, w tym obrazy, pliki PDF i zeskanowane dokumenty.
  • Skalowalność: Azure OCR skaluje się bezproblemowo, obsługując duże ilości żądań wyodrębniania tekstu, co czyni go odpowiednim dla aplikacji na poziomie korporacyjnym.

2.2 Przykład kodu (C#)

using Microsoft.Azure.CognitiveServices.Vision.ComputerVision;
using Microsoft.Azure.CognitiveServices.Vision.ComputerVision.Models;
using System;
using System.Threading.Tasks;

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;
using System.Threading.Tasks;

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
Imports System.Threading.Tasks

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
$vbLabelText   $csharpLabel

2.2.1 Wynik

Azure OCR vs Google OCR (Porównanie funkcji OCR): Rysunek 1 - Wyjście konsoli dla kodu Azure OCR

3. Google OCR

Google OCR jako część dostawcy usług Google Cloud, oferuje potężną platformę do rozpoznawania tekstu i analizy dokumentów. Wykorzystując zaawansowane algorytmy uczenia maszynowego Google, zapewnia dokładne możliwości wyodrębniania tekstu z dodatkowymi funkcjami, takimi jak etykietowanie obrazów i wykrywanie przedmiotów za pomocą chmury obliczeniowej. Platforma OCR Google Cloud jest szeroko stosowana w różnych gałęziach przemysłu do zadań, takich jak przetwarzanie faktur, rozpoznawanie formularzy i digitalizacja treści.

3.1 Kluczowe funkcje Google OCR

  • Wsparcie wielojęzyczne: Google OCR obsługuje ponad 200 języków i potrafi rozpoznać tekst w wielu skryptach, w tym łacińskim, cyrylickim i znaki Han.
  • Analiza obrazów: Oferuje zaawansowane możliwości analizy obrazów, takie jak wykrywanie etykiet, wykrywanie twarzy i rozpoznawanie punktów orientacyjnych.
  • Integracja z usługami w chmurze Google: Google OCR bezproblemowo integruje się z innymi usługami API wizji Google Cloud, umożliwiając deweloperom budowanie kompleksowych rozwiązań do zarządzania dokumentami i analizy.

3.2 Przykład kodu (C#)

using System;
using Google.Cloud.Vision.V1;

class Program
{
    static void Main(string[] args)
    {
        // Configure the ImageAnnotator client with credentials
        var clientBuilder = new ImageAnnotatorClientBuilder { CredentialsPath = "path-to-credentials.json" };
        var client = clientBuilder.Build();

        // Load the image from file
        var image = Image.FromFile("path-to-your-image.jpg");

        // Perform text detection on the image
        var response = client.DetectText(image);

        // Display the detected text
        foreach (var annotation in response)
        {
            Console.WriteLine(annotation.Description);
        }
    }
}
using System;
using Google.Cloud.Vision.V1;

class Program
{
    static void Main(string[] args)
    {
        // Configure the ImageAnnotator client with credentials
        var clientBuilder = new ImageAnnotatorClientBuilder { CredentialsPath = "path-to-credentials.json" };
        var client = clientBuilder.Build();

        // Load the image from file
        var image = Image.FromFile("path-to-your-image.jpg");

        // Perform text detection on the image
        var response = client.DetectText(image);

        // Display the detected text
        foreach (var annotation in response)
        {
            Console.WriteLine(annotation.Description);
        }
    }
}
Imports System
Imports Google.Cloud.Vision.V1

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Configure the ImageAnnotator client with credentials
		Dim clientBuilder = New ImageAnnotatorClientBuilder With {.CredentialsPath = "path-to-credentials.json"}
		Dim client = clientBuilder.Build()

		' Load the image from file
		Dim image As System.Drawing.Image = System.Drawing.Image.FromFile("path-to-your-image.jpg")

		' Perform text detection on the image
		Dim response = client.DetectText(image)

		' Display the detected text
		For Each annotation In response
			Console.WriteLine(annotation.Description)
		Next annotation
	End Sub
End Class
$vbLabelText   $csharpLabel

3.2.1 Wynik

Azure OCR vs Google OCR (Porównanie funkcji OCR): Rysunek 2 - Wyjście konsoli dla kodu Google OCR

4. IronOCR

IronOCR, opracowane przez Iron Software, jest wszechstronną biblioteką OCR dla aplikacji .NET, oferującą wiodącą w branży dokładność i wydajność OCR. W przeciwieństwie do usług OCR opartych na chmurze, IronOCR zapewnia możliwości wyodrębniania tekstu na miejscu, co czyni go odpowiednim dla aplikacji wymagających ochrony danych i bezpieczeństwa. IronOCR wyróżnia się dokładnością, szczególnie w przypadkach złożonych układów i głośnych obrazów, co czyni go preferowanym wyborem dla firm poszukujących niezawodnej funkcjonalności OCR.

4.1 Kluczowe funkcje IronOCR

  • Wysoka dokładność: IronOCR dostarcza wyjątkową dokładność w rozpoznawaniu tekstu, zapewniając wiarygodne wyniki we wszystkich typach dokumentów i języków.
  • OCR na miejscu: Oferuje możliwości wyodrębniania tekstu na miejscu, pozwalając firmom przetwarzać poufne dokumenty lokalnie bez polegania na zewnętrznych usługach.
  • Wszechstronne wsparcie językowe: IronOCR obsługuje ponad 125 języków i zapewnia kompleksowe pakiety językowe dla płynnego rozpoznawania tekstów w różnych językach.

4.2 Installing IronOCR

IronOCR można zainstalować za pomocą Konsoli Menedżera Pakietów NuGet. Wystarczy uruchomić następujące polecenie.

  1. Otwórz Visual Studio i utwórz nowy projekt lub otwórz istniejący.
  2. W pasku narzędzi przejdź do Narzędzia i wybierz Menedżera Pakietów NuGet.

Azure OCR vs Google OCR (Porównanie funkcji OCR): Rysunek 3 - Gdzie znaleźć menedżera pakietów NuGet w Visual Studio

  1. Teraz wybierz Konsolę Menedżera Pakietów z nowo wyświetlonej listy.
  2. Teraz pojawi się Konsola, uruchom następujące polecenie i naciśnij enter.
Install-Package IronOcr

Zajmie to kilka chwil, aby zainstalować IronOCR, ale po jego zakończeniu możemy przejść do przykładu kodu.

4.3 Przykład kodu (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
            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
            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 With {.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
$vbLabelText   $csharpLabel

4.3.1 Wynik

Azure OCR vs Google OCR (Porównanie funkcji OCR): Rysunek 4 - Wyjście konsoli dla kodu IronOCR

5. Ocena porównawcza

5.1 Dokładność i wydajność

  • Microsoft Azure OCR i Google OCR dostarczają wysoką dokładność w wyodrębnianiu tekstu, odpowiednią dla szerokiego zakresu zastosowań.
  • IronOCR wyróżnia się dokładnością, szczególnie w przypadkach złożonych układów i głośnych obrazów.

5.2 Łatwość integracji

  • Rozwiązania chmurowe Microsoft Azure OCR i Google oferują usługi OCR oparte na chmurze, zapewniając łatwą integrację z aplikacjami i usługami w chmurze.
  • IronOCR dostarcza funkcjonalność OCR na miejscu i płynną integrację z aplikacjami .NET, z intuicyjnymi interfejsami API i obszerną dokumentacją.

5.3 Skalowalność

  • Microsoft Azure OCR i Google OCR skaluje się bezproblemowo, obsługując duże ilości żądań wyodrębniania tekstu, co czyni je odpowiednim dla aplikacji na poziomie korporacyjnym.
  • Skalowalność IronOCR zależy od infrastruktury aplikacji, ponieważ działa na miejscu.

6. Podsumowanie

Spośród wszystkich narzędzi OCR, Azure OCR, Google Vision API i IronOCR są znane jako potężne rozwiązania OCR, oferujące wysoką dokładność i wydajność dla zadań wyodrębniania tekstu. Podczas gdy Azure OCR i Google OCR zapewniają usługi OCR w chmurze z infrastrukturą skalowalną i szerokim wsparciem językowym, IronOCR wyróżnia się jako najdokładniejsze rozwiązanie.

IronOCR wyróżnia się, szczególnie dla aplikacji wymagających wyodrębniania tekstu na miejscu i wyższej dokładności. Poprzez wykorzystanie IronOCR, firmy mogą usprawnić przepływy pracy związane z przetwarzaniem dokumentów, zwiększyć dokładność wyodrębniania danych i uzyskać cenne informacje ze zeskanowanych dokumentów i obrazów, co czyni go preferowanym wyborem.

Aby dowiedzieć się więcej o IronOCR i jego usługach, uprzejmie odwiedź stronę Dokumentacji IronOCR aby rozpocząć transformację sposobu, w jaki obsługujesz obrazy.

Kannaopat Udonpant
Inżynier oprogramowania
Zanim stał się inżynierem oprogramowania, Kannapat ukończył doktorat z zasobów środowiskowych na Uniwersytecie Hokkaido w Japonii. W czasie studiowania, Kannapat również został członkiem Laboratorium Robotyki Pojazdów, które jest częścią Wydziału Inżynierii Bioprodukcji. W 2022 roku wykorzystał swoje umiejętności w ...
Czytaj więcej

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie