Kaip pagerinti „Deskew“ tikslumą sunkiai skenuojamiems dokumentams
Ne visi skenavimai yra sukurti vienodai – kai kurie yra triukšmingi, maži ar labai sklandūs. „Aspose.Imaging for .NET“ siūlo lanksčias iškrovimo funkcijas ir tūrinimo galimybes, kad maksimaliai padidėtų korekcijos tikslumas net sunkiomis nuotraukomis.
Realaus pasaulio problemos
Labai įtempti, tamsūs, nuobodu arba triukšmingas skenavimas gali supainioti savarankiškumo algoritmus. Rezultatai gali turėti artefaktus arba prarasti turinį ant kraštų. Tinkamas tinklas yra būtinas kokybiškiems rezultatams.
Sprendimo apžvalga
Eksperimentas su fonos spalva, kanvas atkūrimas, ir iš anksto filtravimas gauti švariausius, paprasčiausius rezultatus. Tune skenavimo nustatymus į priekį ateities projektams.
Prerequisites
- „Visual Studio 2019“ arba vėliau
- .NET 6.0 arba naujesnė (arba .Net Framework 4.6.2+)
- Aspose.Imaging .NET iš NuGet
- Sudėtingas skenavimas (sunkus, triukšmingas arba žemas kokybės)
PM> Install-Package Aspose.Imaging
Žingsnis po žingsnio įgyvendinimas
1 žingsnis: analizuoti ir paruošti skenavimą
- Jei labai silpnas ar triukšmingas, apsvarstykite iš anksto filtruoti su išorinėmis priemonėmis arba Aspose.Imaging filtrus.
- Jei įmanoma, atsiskaitykite didesniu DPI (300+ rekomenduojamas tekstui).
2 žingsnis: išbandykite skirtingas fonos spalvas
using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
string inputPath = "./input/difficult_scan.jpg";
string outputWhite = "./output/deskewed_white.jpg";
string outputGray = "./output/deskewed_gray.jpg";
string outputTransparent = "./output/deskewed_transparent.png";
using (var image = (RasterImage)Image.Load(inputPath))
{
// Try with white background
image.NormalizeAngle(false, Color.White);
image.Save(outputWhite, new JpegOptions { Quality = 90 });
}
using (var image = (RasterImage)Image.Load(inputPath))
{
// Try with light gray background
image.NormalizeAngle(false, Color.LightGray);
image.Save(outputGray, new JpegOptions { Quality = 90 });
}
using (var image = (RasterImage)Image.Load(inputPath))
{
// Try with transparency (PNG only)
image.NormalizeAngle(false, Color.Transparent);
image.Save(outputTransparent, new PngOptions());
}
3 žingsnis: Leiskite Canvas perkelti visą turinį
using (var image = (RasterImage)Image.Load(inputPath))
{
image.NormalizeAngle(true, Color.White); // true = expand canvas to fit
image.Save("./output/deskewed_expanded.jpg", new JpegOptions { Quality = 90 });
}
4 žingsnis: (Opcionalus) Preprocesas su filtrais
Jei jūsų skenavimas yra įtemptas arba triukšmingas, pabandykite kontrasto stiprinimo arba atmesti filtrus prieš išjungdami (žr Aspose.Imaging vaizdo filtrų dokumentacija).
Naudokite atvejus ir paraiškas
- Išvalyti sunkius paveldėjimo skenus archyvuoti
- Verslo kritinių dokumentų parengimas OCR arba auditui
- Aukščiausios kokybės skaitmeninimo projektų užtikrinimas
Bendrieji iššūkiai ir sprendimai
Patirtas turinys prarastas: Naudokite NormalizeAngle(true, ...)
Išplėsti kanapius.
** triukšmas / daiktai lieka:** Pre-procesas su denoizės arba kontrasto filtrų.
**Nėra tobulinimo: ** Jei įmanoma, išsaugokite aukštesnės raiškos funkciją.
Geriausios praktikos
- Visada palyginkite keletą išteklių prieš pasirinkdami geriausią
- Dokumentuokite savo nustatymus pakartotiniam
- Išsaugokite originalius skanus nuorodoms ir atsarginei kopijai
FAQ
**Q: Kodėl kai kurie skenavimas nesugeba tobulai išjungti?**A: Sunkus triukšmas ar iškraipymas gali viršyti algoritmo korekcijos ribas - švarus arba, jei įmanoma, išgelbėtas.
**Q: Ar galiu sujungti išankstinį filtravimą ir plovimą?**Atsakymas: Taip – procesas su filtru, tada išdžiovinkite geriausius rezultatus.
**Q: Kokia yra geriausia spalva tekstiniams dokams?**A: Paprastai balta arba šviesiai pilka; naudoti skaidriai grafikai.
Conclusion
Su Aspose.Imaging .NET, galite optimizuoti dekew rezultatus net ir sudėtingų vaizdų. Aspose.Imaging .NET API nuoroda .