Použití mediánového a Wienerova filtru na obrázky v C#

Úprava obrázků hraje klíčovou roli při vylepšování a manipulaci s obrázky pro různé aplikace. V našich předchozích příspěvcích jsme diskutovali o tématech, jako je ořezávání obrázků, otáčení obrázků a rozmazávání obrázků. Dnes prozkoumáme, jak aplikovat mediánové a Wienerovy filtry — dvě základní techniky pro odstraňování šumu a vyhlazování obrázků. Pojďme se ponořit do programatické implementace těchto filtrů v C#.

C# API pro použití mediánového a Wienerova filtru na obrázky - Zdarma ke stažení

Aspose.Imaging pro .NET API je mocné řešení pro implementaci technik filtrování obrázků v aplikacích .NET. Tato knihovna vám umožňuje efektivně aplikovat jak mediánové, tak Wienerovy filtry, což z ní činí nezbytný nástroj pro zpracování obrázků v C#. 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, což z něj činí cenný nástroj v filtrování obrázků v C#. Zde je krok za krokem průvodce, jak aplikovat mediánový filtr na obrázek v C#:

  1. Načtěte obrázek pomocí metody Image.Load().
  2. Převeďte obrázek na typ RasterImage.
  3. Vytvořte instanci třídy MedianFilterOptions a inicializujte ji požadovanou velikostí obdélníku.
  4. Aplikujte mediánový filtr pomocí metody RasterImage.Filter(Rectangle, MedianFilterOptions).
  5. 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#:

Porovnání před a po

Níže je porovnání obrázku před a po aplikaci mediánového filtru:

Použití mediánového filtru na obrázek C#

Použití Gaussova Wienerova filtru na obrázek v C#

Gaussův Wienerův filtr je další účinný přístup k minimalizaci aditivního šumu a rozmazání v obrázcích. Postupujte podle těchto kroků pro aplikaci Gaussova Wienerova filtru v C#:

  1. Načtěte obrázek pomocí metody Image.Load().
  2. Převeďte obrázek na typ RasterImage.
  3. Vytvořte instanci třídy GaussWienerFilterOptions a inicializujte ji požadovanou velikostí poloměru a hodnotou pro vyhlazení.
  4. (Volitelné) Pro šedotónový obrázek nastavte vlastnost GaussWienerFilterOptions.Grayscale na true.
  5. Aplikujte Gaussův Wienerův filtr pomocí metody RasterImage.Filter(Rectangle, GaussWienerFilterOptions).
  6. 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#:

Porovnání před a po

Níže můžete vidět obrázek před a po aplikaci Gaussova Wienerova filtru s volbou šedotónu:

Použití Gaussova Wienerova filtru na obrázek Šedění

A zde je obrázek před a po aplikaci Gaussova Wienerova filtru bez šedění:

Použití Gaussova Wienerova barevného filtru na obrázek

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, jak aplikovat pohybový Wienerův filtr v C#:

  1. Načtěte obrázek pomocí metody Image.Load().
  2. Převeďte obrázek na typ RasterImage.
  3. Vytvořte instanci třídy MotionWienerFilterOptions a inicializujte ji s délkou, hodnotou pro vyhlazení a úhlem.
  4. Aplikujte pohybový Wienerův filtr pomocí metody RasterImage.Filter(Rectangle, MotionWienerFilterOptions).
  5. 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#:

Porovnání před a po

Použití pohybového Wienerova filtru na obrázek v C#

C# API pro mediánové a Wienerovo filtrování obrázků - Získejte zdarma 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 proces aplikace mediánových a Wienerových filtrů na obrázky v C#. Také jsme se podívali na metody, jak snížit šum z pohybujících se objektů v obrázcích. Tyto funkce můžete bezproblémově integrovat do svých aplikací C# a zlepšit své schopnosti úpravy obrázků. Ať už hledáte tutoriál pro zpracování obrázků v C# pro začátečníky nebo pokročilé techniky, Aspose Plugin poskytuje komplexní řešení pro všechny vaše potřeby zpracování 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 fórum.

Viz také