Как искать и сравнивать текст в изображениях с 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 .