Úprava obrázků hraje klíčovou roli v různých aplikacích, umožňuje zlepšení a manipulaci s obrázky pro další zpracování. V našich předchozích blozích jsme diskutovali o tématech, jako je ořezávání obrázků, otáčení obrázků a rozmazání obrázků. Dnes se ponoříme do aplikace mediánových a Wienerových filtrů—dvou základních technik pro odšumění a vyhlazení obrázků. Pojďme prozkoumat jak programově aplikovat mediánové a Wienerovy filtry na obrázek v C#.
- C# API pro použití mediánových a Wienerových filtrů na obrázky
- Použití mediánového filtru na obrázek v C#
- Použití Gaussova Wienerova filtru na obrázek
- Filtraci pohybu Wienerovým filtrem na obrázku
C# API pro použití mediánových a Wienerových filtrů na obrázky - Bezplatné stažení
Aspose.Imaging pro .NET je mocné API navržené k implementaci funkcí úpravy obrázků v .NET aplikacích. Využijeme toto API k aplikaci mediánových a Wienerových filtrů na obrázky. Můžete si snadno stáhnout API nebo jej nainstalovat přímo z NuGet pomocí následujícího příkazu:
PM> Install-Package Aspose.Imaging
Použití mediánového filtru na obrázek v C#
Mediánový filtr je nelineární digitální filtrační technika, která účinně snižuje šum v obrázcích. Zde je návod, jak můžete aplikovat mediánový filtr na obrázek v C#:
- Načtěte obrázek pomocí metody Image.Load().
- Převeďte obrázek na typ RasterImage.
- Vytvořte instanci třídy MedianFilterOptions a inicializujte ji požadovanou velikostí obdélníku.
- Aplikujte mediánový filtr pomocí metody RasterImage.Filter(Rectangle, MedianFilterOptions).
- Uložte výsledný obrázek pomocí metody RasterImage.Save().
Zde je ukázka kódu, která demonstruje, jak aplikovat mediánový filtr na obrázek v C#:
Níže je obrázek před a po aplikaci mediánového filtru:
Použití Gaussova Wienerova filtru na obrázek v C#
Gaussův Wienerův filtr je další účinná metoda pro minimalizaci aditivního šumu a rozmazání v obrázcích. Postupujte podle těchto kroků pro aplikaci Gaussova Wienerova filtru v C#:
- Načtěte obrázek pomocí metody Image.Load().
- Převeďte obrázek na typ RasterImage.
- Vytvořte instanci třídy GaussWienerFilterOptions a inicializujte ji požadovanou velikostí poloměru a hladkým hodnotou.
- (Volitelné) Pro obrázek v odstínech šedi nastavte vlastnost GaussWienerFilterOptions.Grayscale na true.
- Aplikujte Gaussův Wienerův filtr pomocí metody RasterImage.Filter(Rectangle, GaussWienerFilterOptions).
- Uložte výsledný obrázek pomocí metody RasterImage.Save().
Zde je ukázka kódu pro aplikaci Gaussova Wienerova filtru na obrázek v C#:
Níže můžete vidět obrázek před a po aplikaci Gaussova Wienerova filtru s volbou odstínů šedi:
A zde je obrázek před a po aplikaci Gaussova Wienerova filtru bez odstínů šedi:
Použití pohybového Wienerova filtru na obrázek v C#
Pohybový Wienerův filtr je speciálně navržen k odstranění rozmazání způsobeného pohybujícími se objekty. Zde je návod, jak aplikovat pohybový Wienerův filtr v C#:
- Načtěte obrázek pomocí metody Image.Load().
- Převeďte obrázek na typ RasterImage.
- Vytvořte instanci třídy MotionWienerFilterOptions a inicializujte ji délkou, hladkým hodnotou a úhlem.
- Aplikujte pohybový Wienerův filtr pomocí metody RasterImage.Filter(Rectangle, MotionWienerFilterOptions).
- Uložte výsledný obrázek pomocí metody RasterImage.Save().
Zde je ukázka kódu, která ukazuje, jak aplikovat pohybový Wienerův filtr na obrázek v C#:
C# Mediánové a Wienerové filtrování obrázků API - Získejte bezplatnou licenci
Můžete získat bezplatnou dočasnou licenci pro aplikaci mediánových a Wienerových filtrů na obrázky bez jakýchkoli hodnotících omezení.
Závěr
V tomto článku jsme prozkoumali, jak aplikovat mediánové a Wienerovy filtry na obrázky v C#. Také jsme diskutovali o metodách, jak snížit šum z pohybujících se objektů v obrázcích. Tyto funkce můžete bezproblémově integrovat do svých C# aplikací, abyste zlepšili své schopnosti úpravy obrázků.
Přečtěte si více
Chcete-li se dozvědět více o .NET API pro zpracování obrázků, podívejte se na dokumentaci. Pokud máte jakékoli dotazy, neváhejte se obrátit na naše forum.