Как да подобрим точността на 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
- Скев / ротация
- Звук на фона
- Нисък контраст
- Лошо осветление / сенки
Стъпка 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: Снимките остават непочтими
**Решение: ** Попитайте за спасяване или използвайте напреднали инструменти за подобряване, ако е необходимо.
Предизвикателство 2: Batch Processing Bottlenecks
Решение: Автоматично предварително обработване и планиране на работни часове.
Предизвикателство 3: Изключително променливи въвеждания
**Решение: ** Съхранявайте най-добрите настройки по тип документ; валидирай редовно.
Преглед на изпълнението
- Препроцесуването добавя време на CPU, но може да удвои точността на OCR
- Тест на размера на батерията за вашия хардуер
- На разположение на ОКР обекти след състезания
Най-добрите практики
- Съхраняване на оригинални изображения за одит
- Валидиране на производството преди интеграцията
- Използвайте контрол на качеството за критични работни потоци
- Редовно актуализиране на Aspose.OCR за подобрения
Разширени сценарии
Сценарий 1: Препроцесиране с външни инструменти (опционално)
Подобряване на изображения с инструмент като ImageMagick или OpenCV преди OCR за екстремни случаи.
Сценарий 2: Филтриране според типа на документа
Съхраняване и повторно използване на настройките по източник или работен поток за максимална точност.
заключение
С правилна предварителна обработка и настройки, Aspose.OCR за .NET може да спаси ценни данни дори от изображения с лошо качество, подобряване на автоматизацията и съответствието.
За напреднали съвети и най-новите филтри, проверете Aspose.OCR за .NET API Референт .