Jak wyszukać i porównać tekst w obrazach z Aspose.OCR

Jak wyszukać i porównać tekst w obrazach z Aspose.OCR

Poszukiwanie lub porównanie tekstu wewnątrz obrazów jest niezbędne dla zgodności, archiwów cyfrowych i automatycznej klasyfikacji. Aspose.OCR Image Text Finder dla .NET pozwala identyfikować, wyszukiwać i porównywać tekst obrazu z dokładnością - w szeregu przypadków użycia od wykrywania PII do przeglądu prawnego.

Problem świata rzeczywistego

Firmy często muszą szukać wrażliwych treści, weryfikować podpisy lub porównywać tekst między różnymi wersjami plików obrazowych.

Przegląd rozwiązania

Dzięki Aspose.OCR można wyszukiwać konkretne teksty lub wzorce (używając wierszy lub regex) w obrazach i porównać treść tekstową dwóch obrazów, aby odnaleźć różnice.

Warunki

Będziesz potrzebował:

  • Visual Studio 2019 lub później
  • .NET 6.0 lub nowszy (lub .Net Framework 4.6.2+)
  • Aspose.OCR dla .NET od NuGet
  • Podstawowe umiejętności C#
PM> Install-Package Aspose.OCR

Wdrażanie krok po kroku

Krok 1: Instalacja i konfiguracja Aspose.OCR

Dodaj pakiet i wymagane przestrzenia:

using Aspose.OCR;

Krok 2: Przygotuj swoje pliki obrazowe

Ustaw obrazy, które chcesz wyszukać lub porównać.

string img1 = "document1.png";
string img2 = "document2.jpg";

Krok 3: Konfiguruj opcje wyszukiwania i porównania

Konfiguruj ustawienia do wyszukiwania tekstu (string lub regex) i porównania.

RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English; // Adjust as needed

Krok 4: Wyszukaj tekst w obrazie

Korzystaj z ImageHasText Metoda szybkiego, elastycznego wyszukiwania tekstu (podporuje struny i regex):

AsposeOcr ocr = new AsposeOcr();
bool isFound = ocr.ImageHasText(img1, "Confidential", settings); // String search
Console.WriteLine($"Text found: {isFound}");

// Regex search example:
bool regexFound = ocr.ImageHasText(img1, @"\d{3}-\d{2}-\d{4}", settings); // e.g., US SSN pattern
Console.WriteLine($"Regex found: {regexFound}");

Krok 5: Porównaj tekst dwóch obrazów

Używanie CompareImageTexts Poznaj różnice w treści tekstowej:

int similarity = ocr.CompareImageTexts(img1, img2, settings, true); // true = case-insensitive
Console.WriteLine($"Image text similarity: {similarity}%");

Krok 6: Dodaj rozwiązywanie błędów

Odnalezienie i radzenie sobie z błędami dla wytrzymałości produkcji:

try
{
    AsposeOcr ocr = new AsposeOcr();
    bool found = ocr.ImageHasText(img1, "PII", settings);
    int sim = ocr.CompareImageTexts(img1, img2, settings, false);
}
catch (Exception ex)
{
    Console.WriteLine($"Error: {ex.Message}");
}

Krok 7: Optymalizacja do wyszukiwania lub porównania masowego

  • Przetwarzanie obrazów w zestawach za pomocą wzorów asyncowych lub równoległych
  • Wstępne obrazy (zbiór, czyszczenie) dla wyższej precyzji
  • Fine-tune regex dla zaawansowanych scenariuszy
// Example: Search for a pattern in all images in a folder
foreach (string file in Directory.GetFiles("./archive", "*.png"))
{
    bool found = ocr.ImageHasText(file, "Confidential", settings);
    if (found) { Console.WriteLine($"Found in: {file}"); }
}

Krok 8: Pełny przykład

using Aspose.OCR;
using System;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            string img1 = "contract1.png";
            string img2 = "contract2.png";

            RecognitionSettings settings = new RecognitionSettings();
            settings.Language = Language.English;

            AsposeOcr ocr = new AsposeOcr();
            // Search for specific text
            bool isFound = ocr.ImageHasText(img1, "NDA", settings);
            Console.WriteLine($"Text found: {isFound}");

            // Compare two images
            int similarity = ocr.CompareImageTexts(img1, img2, settings, true);
            Console.WriteLine($"Image text similarity: {similarity}%");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
}

Korzystanie z przypadków i aplikacji

Zgodność i wykrywanie PII

Szukaj poufnych danych lub wzorów (takich jak ID, SSN) w archiwach cyfrowych obrazów.

Przegląd prawny i umów

Porównaj kontrakty lub dokumenty oparte na obrazie dla różnic tekstowych po podpisaniu lub edycji.

Zarządzanie aktywami cyfrowymi

Umożliwia automatyczne oznaczanie lub wyszukiwanie w dużych magazynach obrazów do automatyzacji procesów biznesowych.

Wspólne wyzwania i rozwiązania

Wyzwanie 1: Zdjęcia z różnymi stylami tekstu

Rozwiązanie: Użyj dopasowania przypadkowo niewrażliwego i regex; test na różnych czcionkach / tło.

Wyzwanie 2: wyszukiwanie dużych batchów

**Rozwiązanie: ** Użyj równoległych lub niesynchronnych przepływów roboczych oraz w możliwych okolicznościach przedprocesowych obrazów.

Wyzwanie 3: Kompleksowe wzorce lub tekst redakcyjny

Rozwiązanie: Odśwież regex i przetestuj obrazy próbek; ustawienia tonowe dla głośnych lub zarejestrowanych obrazów.

uwzględnienie wydajności

  • Proces batch dla prędkości w dużych archiwach
  • Wykorzystaj wysokiej jakości obrazy źródłowe dla najlepszej precyzji
  • Wykorzystaj wzorce wyszukiwania, aby zminimalizować fałszywe pozytywy

Najlepsze praktyki

  • Testuj wszystkie wzorce wyszukiwania i porównania na zestawach próbek najpierw
  • Bezpiecznie obsługiwać i rejestrować wrażliwe informacje lub wyniki wyszukiwania
  • Regularne aktualizacje Aspose.OCR dla ulepszeń funkcji i dokładności

Zaawansowane scenariusze

Scenariusz 1: Zaawansowany Regex dla redakcji

bool found = ocr.ImageHasText(img1, @"(Account|Card)\s*#:?\s*\d{4,}", settings);

Scenariusz 2: wyszukiwanie wielojęzyczne

settings.Language = Language.French;
bool isFound = ocr.ImageHasText(img1, "Confidentiel", settings);

konkluzja

Aspose.OCR Image Text Finder dla .NET umożliwia wyszukiwanie, wykrywanie i porównywanie tekstów opartych na obrazie w sposób efektywny – poprzez archiwum, prawodawstwo i przestrzeganie przepływów pracy.

Znajdź więcej przykładów w Aspose.OCR dla .NET API Referencje .

 Polski