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 .