Använd median- och wienerfilter på bilder i C#

Bildredigering används i olika applikationer för att manipulera bilder för vidare bearbetning. Vi har skrivit en serie bloggar, t.ex. beskärning, roterande, oskärpa, etc., som är användbara för att du ska kunna implementera bildredigeringsfunktioner i dina applikationer. I den här artikeln kommer vi att visa dig hur du använder median- och wienerfilter, som vanligtvis används för att försvaga och jämna ut bilder. Så låt oss se hur man applicerar median- och wienerfiler på en bild programmatiskt i C#.

C# API för att tillämpa median- och Wiener-bildfilter - gratis nedladdning

Aspose.Imaging for .NET är ett fantastiskt API för att implementera bildredigeringsfunktioner i .NET-applikationer. Vi kommer att använda detta API för att tillämpa median- och wienerfilter på bilder. Du kan antingen ladda ner API:t eller installera det från NuGet.

PM> Install-Package Aspose.Imaging

Använd medianfilter på en bild i C#

Medianfiltret är en olinjär digital filtreringsteknik som används för att minska brus från bilderna. Följande är stegen för att tillämpa ett medianfilter på en bild i C#.

Följande kodexempel visar hur man tillämpar ett medianfilter på en bild i C#.

// Ladda den brusiga bilden 
using (Image image = Image.Load("jack.jpg"))
{
    // Casta bilden till RasterImage
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // Skapa en instans av MedianFilterOptions-klassen och ställ in storleken
    MedianFilterOptions options = new MedianFilterOptions(4);
    
    // Använd filter och spara bilden
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_median.jpg");
}

Nedan är bilden före och efter applicering av medianfiltret.

Använd medianfilter på bild C#

Använd Gauss Wiener Filter på en bild i C#

En annan vanlig metod för att minimera additivt brus och suddighet i bilderna är gauss wiener. Följande är stegen för att tillämpa gauss wiener-filtret på en bild i C#.

Följande kodexempel visar hur man applicerar ett gauss wienerfilter på en bild i C#.

// Ladda den brusiga bilden 
using (Image image = Image.Load("jack.jpg"))
{
    // Casta bilden till RasterImage
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // Skapa en instans av klassen GaussWienerFilterOptions och ställ in radiestorlek och jämnt värde
    GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3);
    options.Grayscale = true;

    // Använd MedianFilterOptions-filtret på RasterImage-objektet och spara den resulterande bilden
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_guass.jpg");
}

Nedan är bilden före och efter applicering av gauss wienerfiltret med gråskalealternativet.

Applicera Gauss Weiner-filter på bildgråskalning

Följande är bilden före och efter applicering av gauss wienerfiltret utan gråskalning.

Applicera Gauss Weiner färgfilter på bilden

Använd Motion Wiener Filter på en bild i C#

Rörelse wienerfilter används för att ta bort suddighet i en bild som skapas på grund av de rörliga föremålen. Följande är stegen för att tillämpa motion wiener-filtret på en bild i C#.

Följande kodexempel visar hur man applicerar ett motion wiener-filter på en bild i C#.

// Ladda den brusiga bilden 
using (Image image = Image.Load("jack.jpg"))
{
    // Casta bilden till RasterImage
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // Skapa en instans av MotionWienerFilterOptions-klassen och ställ in längden, det jämna värdet och vinkeln
    MotionWienerFilterOptions options = new MotionWienerFilterOptions(50, 9, 90);
    options.Grayscale = true;

    // Använd MedianFilterOptions-filtret på RasterImage-objektet och spara den resulterande bilden
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_MotionWiener.jpg");
}
Applicera Motion Weiner Filter på bild i C#

C# Median och Wiener Image Filtering API - Skaffa en gratis licens

Du kan skaffa en gratis tillfällig licens och använda median- och wienerfilter på bilder utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har du lärt dig hur du använder median- och wienerfilter på bilder i C#. Dessutom har vi tagit upp hur man minskar bruset från rörliga föremål i en bild. Du kan enkelt använda dessa funktioner i din C#-applikation för att integrera bildredigeringsmöjligheter.

Läs mer

Du kan utforska mer om .NET-bildbehandlings-API:et med hjälp av dokumentation. Du kan också dela dina frågor med oss via vårt forum.

Se även