Kaip pagerinti OCR tikslumą žemos kokybės nuotraukose su Aspose.OCR

Kaip pagerinti OCR tikslumą žemos kokybės nuotraukose su Aspose.OCR

Daugelis verslo kritinių vaizdų yra žemos kokybės – blurry skenavimas, išmaniųjų telefonų nuotraukos, sklandūs įrašai ar triukšmo faksai. Šie iššūkiai sumažina OCR tikslumą. Aspose.OCR .NET siūlo įterptus įrankius ir geriausias praktikas, kad būtų galima gauti geriausią įmanomą tekstą iš net sudėtingų paveikslų.

Realaus pasaulio problemos

Kai skenavimas yra blurry, tamsus, mažas kontrastas, arba turi foninį triukšmą, standartinis OCR gali praleisti žodžius ar klaidingai atpažinti simbolius.

Sprendimo apžvalga

Taikydami išankstinį apdorojimą (deskew, denoise, kontrasto koregavimas) ir Aspose.OCR nustatymus, galite dramatiškai pagerinti teksto ekstrakciją – net iš subparų vaizdų.

Prerequisites

  • „Visual Studio 2019“ arba vėliau
  • .NET 6.0 arba naujesnė (arba .Net Framework 4.6.2+)
  • ASPOSE.OCR už .NET iš NuGet
  • Pagrindiniai C# įgūdžiai
PM> Install-Package Aspose.OCR

Žingsnis po žingsnio įgyvendinimas

1 žingsnis: Įdiegti ir konfigūruoti Aspose.OCR

using Aspose.OCR;

2 žingsnis: įvertinkite vaizdo kokybę

Patikrinkite už:

  • Blurriness
  • Rotacija / Rotation
  • foninis triukšmas
  • Mažas kontrastas
  • Mažas apšvietimas / šešėlis

3 žingsnis: Taikyti vaizdo perdirbimą ir tobulinimą

Aspose.OCR turi filtrus, skirtus atmesti, iškrauti, binarizuoti, kontrastuoti ir daugiau:

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 žingsnis: Įdiegti atpažinimo nustatymus sunkioms nuotraukoms

Galite gauti geresnius rezultatus tuning:

  • Language nuosavybė (rinkitės artimiausią rungtynes)
  • DetectAreasMode (Nukreipta iš puslapio Auto vs. Photo)
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.PHOTO; // If image is a photo

5 žingsnis: Išimti tekstą ir patvirtinti

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 žingsnis: Iterate ir testas su skirtingais nustatimais

Išbandykite keletą iš anksto apdorojamų filtrų ir nustatymų derinių, tada peržiūrėkite išleidimą, kad gautumėte geriausią tikslumą.

7 žingsnis: Automatiškai perdirbti daugiafunkcinių darbo vietų

Apdoroti visus vaizdus viename direktoriuje su optimaliais nustatimais:

foreach (string file in Directory.GetFiles("./problem_images", "*.png"))
{
    input.Add(file);
}

8 žingsnis: pilnas pavyzdys

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

Naudokite atvejus ir paraiškas

Skaitmeniniai priėmimai ir faksai

Duomenys ištraukiami iš pavogtų, faksuotų ar sugadintų gautų ir sąskaitų.

Automatizuokite sąskaitas, kurios gali būti mokamos su prastomis skenavimais

Sumažinkite perdirbimą ir pagreitinkite AP apdorojimą net ir iš blogų šaltinių.

Archyvas paveldėjimo popierius

Išsaugokite naudingą tekstą iš senų, degraduotų archyvų ir rankiniu būdu parašytų įrašų.

Bendrieji iššūkiai ir sprendimai

1 iššūkis: vaizdai išlieka neskaitomi

Išsprendimas: Prašykite ištaisymo arba naudokite pažangius tobulinimo įrankius, jei reikia.

Iššūkis 2: Batch apdorojimo buteliukai

Išsprendimas: Automatiškas išankstinis apdorojimas ir darbo dienų tvarkaraštis.

3 iššūkis: labai kintantys įėjimai

Išsprendimas: Išsaugokite geriausius nustatymus pagal dokumentų tipą; reguliariai patvirtinkite.

Veiksmingumo apžvalgos

  • Preprocesavimas prideda CPU laiką, bet gali padvigubinti OCR tikslumą
  • Bandymo batų dydis jūsų aparatūrai
  • OCR objektų naudojimas po bėgimo

Geriausios praktikos

  • Išsaugoti originalias nuotraukas auditui
  • Išleidimas prieš integraciją
  • Naudokite kokybės kontrolės patikrinimus kritiniams darbo srautams
  • Reguliariai atnaujinti Aspose.OCR patobulinimams

Išplėstiniai scenarijai

1 scenarijus: perdirbimas naudojant išorinius įrankius (pasirenkamas)

Pagerinkite vaizdus su tokiu įrankiu kaip ImageMagick arba OpenCV prieš OCR ekstremaliems atvejams.

2 scenarijus: pritaikytas filtravimas pagal dokumentų tipą

Išsaugoti ir pakartotinai naudoti nustatymus pagal šaltinį arba darbo srautą, kad būtų užtikrintas didžiausias tikslumas.

Conclusion

Naudodamas tinkamą išankstinį apdorojimą ir nustatymus, Aspose.OCR .NET gali išsaugoti vertingus duomenis net ir nuo blogos kokybės vaizdų, didinti automatiką ir atitikties.

Dėl pažangių patarimų ir naujausių filtrų, patikrinkite ASPOSE.OCR už .NET API nuorodą .

 Lietuvių