Как искать и сравнивать текст в изображениях с Aspose.OCR

Как искать и сравнивать текст в изображениях с Aspose.OCR

Поиск или сравнение текста внутри изображений является необходимым для соответствия, цифровых архивов и автоматизированной классификации. Aspose.OCR Image Text Finder для .NET позволяет идентифицировать, искать и сравнивать текст изображения с точностью — в рамках ряда случаев использования от обнаружения PII до юридического обследования.

Реальные мировые проблемы

Бизнес часто нуждается в поиске чувствительного контента, проверке подписей или сравнении текста между различными версиями файлов изображения. Ручные проверки являются медленными и недостоверными, особенно для больших цифровых архивов или наборов документов.

Решение обзор

С помощью Aspose.OCR вы можете искать конкретный текст или шаблоны (используя строки или регекс) в изображениях, и сравнивать текстуальный контент двух изображений, чтобы найти различия.

Предупреждения

Вам понадобится:

  • Visual Studio 2019 или позднее
  • .NET 6.0 или более поздний (или .Net Framework 4.6.2+)
  • ASPOSE.OCR для .NET от NuGet
  • Основные навыки C#
PM> Install-Package Aspose.OCR

Step-by-Step реализация

Шаг 1: Инсталляция и настройка Aspose.OCR

Добавьте пакет и требуемые номенклатуры:

using Aspose.OCR;

Шаг 2: Подготовьте файлы изображения

Настройте изображения, которые вы хотите искать или сравнивать.

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

Шаг 3: Настройка поисковых и сравнительных опций

Настройка настройки для поиска текста (стринг или регекс) и сравнения.

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

Шаг 4: Поиск текста в изображении

Используйте ImageHasText Метод быстрого, гибкого текстового поиска (поддержка строк и регекса):

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}");

Шаг 5: Сравнить текст двух изображений

Использование CompareImageTexts Показать различия в текстовом контенте:

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

Шаг 6: Добавить обработку ошибок

Уловить и справиться с ошибками для производительности:

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}");
}

Шаг 7: Оптимизация для массового поиска или сравнения

  • Обработка изображений в комплектах с использованием ассинк или параллельных шаблонов
  • Препроцессуальные изображения (растение, очищение) для более высокой точности
  • Fine-tune regex для передовых сценариев
// 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}"); }
}

Шаг 8: Полный пример

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}");
        }
    }
}

Используйте случаи и приложения

Соответствие и PII-детекция

Поиск конфиденциальных данных или шаблонов (например, ID, SSN) внутри цифровых архивов изображений.

Юридический и договорный обзор

Сравнивать изобразительные контракты или документы для текстовых различий после подписания или редактирования.

Управление цифровыми активами

Возможность автоматического обозначения или поиска в больших архивах изображений для автоматизации бизнес-процессов.

Общие вызовы и решения

Проблема 1: изображения с разнообразными стилями текста

Решение: Используйте случайно-нечувствительную и регексную корректировку; тестируйте на различных шрифтах / фонах.

Оригинальное название: Challenge 2: Large Batch Search

Решение: Используйте параллельные или асинхронные рабочие потоки и, когда это возможно, предварительные обработки изображений.

Проблема 3: Комплексные шаблоны или редактированный текст

Решение: Рефинировать регекс и тестировать на образце изображения; тонус настройки для шума или редактированных изображений.

Рассмотрим производительность

  • Батч-процесс для скорости на больших архивах
  • Используйте высококачественные источные изображения для наилучшей точности
  • Сделайте поисковые шаблоны, чтобы минимизировать фальшивые положительные

Лучшие практики

  • Проверьте все поисковые и сравнительные шаблоны на пробных сетах в первую очередь
  • Безопасно обрабатывать и записывать чувствительную информацию или результаты поиска
  • Регулярно обновляется Aspose.OCR для улучшений функциональности и точности

Развитые сценарии

Сценарий 1: Advanced Regex for Redaction

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

Сценарий 2: Многоязычный поиск

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

Заключение

ASPOSE.OCR Image Text Finder для .NET позволяет эффективно искать, обнаруживать и сравнивать текст на основе изображения – через архивные, юридические и соответствующие рабочие потоки.

Найти больше примеров в ASPOSE.OCR для .NET API .

 Русский