Як підвищити точність OCR на зображеннях низької якості за допомогою Aspose.OCR
Багато бізнес-критичних зображень мають низьку якість — блуррі-скани, фотографії смартфонів, зашифровані записи або шумні факси. Ці виклики зменшують точність OCR. Aspose.OCR для .NET пропонує вбудовані інструменти та кращі практики для вилучення кращого можливого тексту з навіть складних знімків.
Реальні проблеми світу
Коли скани бувають м’якими, темними, низькоконтрастними або мають фонові шуми, стандартний OCR може пропустити слова або неправильно розпізнати персонажі.
Огляд рішення
Використовуючи заздалегідь обробку (відкриття, відхилення, корекція контрасту) та налаштування Aspose.OCR, ви можете драматично поліпшити екстракцію тексту – навіть з субпарних зображень.
Передумови
- Visual Studio 2019 або вище
- .NET 6.0 або вище (або .Net Framework 4.6.2+)
- ASPOSE.OCR для .NET від NuGet
- Основні навички C#
PM> Install-Package Aspose.OCR
Крок за кроком реалізація
Крок 1: Завантажити та встановити Aspose.OCR
using Aspose.OCR;
Крок 2: Оцінка якості зображення
Перевірте для:
- Blurriness
- РОТАЦІЯ / ROTATION
- Зовнішній шум
- Низький контраст
- Недостатній світло / тіні
Крок 3: Використовуйте переробку і поліпшення зображення
ASPOSE.OCR має фільтри для відхилення, дескеу, бінарності, контрасту та багато іншого:
RecognitionSettings settings = new RecognitionSettings();
settings.AutoContrast = true; // Improve contrast automatically
settings.Denoising = true; // Remove background noise
settings.Deskew = true; // Correct rotated images
settings.Binarization = true; // Convert to black/white for clarity
Крок 4: Налаштування розпізнавання для складних зображень
Ви можете отримати кращі результати за допомогою:
Language
Продукція (виберіть найближчий матч)DetectAreasMode
(Автомобіль проти фото)
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.PHOTO; // If image is a photo
Крок 5: Витяг тексту та валідація
OcrInput input = new OcrInput(InputType.SingleImage);
input.Add("blurry_invoice.jpg");
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
foreach (RecognitionResult result in results)
{
Console.WriteLine(result.RecognitionText);
}
Крок 6: Завантажити і перевірити з різними налаштуваннями
Спробуйте кілька поєднань попередніх фільтрів і налаштувань, а потім перегляньте вихід для кращої точності.
Крок 7: Автоматичне перезавантаження для масових робочих місць
Обробка всіх зображень в каталозі з оптимальними налаштуваннями:
foreach (string file in Directory.GetFiles("./problem_images", "*.png"))
{
input.Add(file);
}
Крок 8: Повний приклад
using Aspose.OCR;
using System;
using System.Collections.Generic;
using System.IO;
class Program
{
static void Main(string[] args)
{
try
{
OcrInput input = new OcrInput(InputType.SingleImage);
input.Add("blurry_invoice.jpg");
RecognitionSettings settings = new RecognitionSettings();
settings.AutoContrast = true;
settings.Denoising = true;
settings.Deskew = true;
settings.Binarization = true;
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.PHOTO;
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
foreach (RecognitionResult result in results)
{
Console.WriteLine(result.RecognitionText);
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
Використання випадків та додатків
Цифрові дані та факси
Витяг даних з оброблених, факсуваних або зруйнованих доходів і рахунків.
Автоматизація платіжних рахунків з поганими сканами
Знижуйте переробку та прискорені обробки AP навіть з поганих джерел.
Архіви архівних паперів
Зберегти корисний текст з старих, деградированих архівів і рукописаних записів.
Спільні виклики та рішення
Проблема 1: Зображення залишаються незрозумілими
Рішення: Запросити відшкодування або використовувати розширені інструменти поліпшення, як це необхідно.
Докладніше: Challenge 2: Batch Processing Bottlenecks
Рішення: Автоматичне попереднє обробка та графік робочих місць поза робочим часом.
Виклик 3: Високо змінні входи
Рішення: Зберігайте найкращі налаштування за типом документа; регулярно валідуйте.
Виконання розглядів
- Препроцесування додає час CPU, але може подвоїти точність OCR
- Тест розмір батареї для вашого обладнання
- Використання об’єктів ОКР після поїздок
Найкращі практики
- Зберігати оригінальні зображення для аудиту
- Використання продуктів до інтеграції
- Використання контрольних перевірок якості для критичних робочих потоків
- Регулярні оновлення Aspose.OCR для поліпшень
Розширені сценарії
Сценарій 1: Переробка з зовнішніми інструментами (опціональна)
Підвищити зображення за допомогою таких інструментів, як ImageMagick або OpenCV перед OCR для екстремальних випадків.
Сценарій 2: Налаштування фільтрації за типом документа
Зберігати та повторно використовувати налаштування за джерелом або робочим потоком для максимальної точності.
Заключення
Завдяки правильному попередньому обробці та налаштуванню, Aspose.OCR для .NET може врятувати цінні дані навіть від шкідливих зображень, підвищувати автоматизацію та дотримання.
Для передових порад та останніх фільтрів, перевірте Aspose.OCR для .NET API Референт .