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
- Använd medianfilter på en bild i C#
- Använd Gauss Wiener Filter på en bild
- Motion Wiener-filtrering av en bild
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#.
- Ladda först bilden med metoden Image.Load().
- Casta sedan bilden till typen RasterImage.
- Skapa en instans av klassen MedianFilterOptions och initiera den med storleken på rektangeln.
- Använd medianfiltret med metoden RasterImage.Filter(Rectangle, MedianFilterOptions).
- Slutligen, spara den resulterande bilden med metoden RasterImage.Save().
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 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#.
- Ladda först bilden med metoden Image.Load().
- Casta sedan bilden till typen RasterImage.
- Skapa en instans av klassen GaussWienerFilterOptions och initiera den med radiestorlek och jämnt värde.
- (Valfritt) För att få en gråskalebild, ställ in egenskapen GaussWienerFilterOptions.Grayscale till true.
- Applicera gauss wienerfilter med metoden RasterImage.Filter(Rectangle, GaussWienerFilterOptions).
- Slutligen, spara den resulterande bilden med metoden RasterImage.Save().
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.
Följande är bilden före och efter applicering av gauss wienerfiltret utan gråskalning.
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#.
- Ladda först bilden med metoden Image.Load().
- Casta sedan bilden till typen RasterImage.
- Skapa en instans av klassen MotionWienerFilterOptions och initiera den med längd, jämnt värde och vinkel.
- Använd motion wiener-filter med metoden RasterImage.Filter(Rectangle, MotionWienerFilterOptions).
- Slutligen, spara den resulterande bilden med metoden RasterImage.Save().
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");
}
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.