![Använd median- och wienerfilter på bilder i C#](images/Apply-Median-Wiener-Filters-to-Image.png#center)
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 medianfilter på bild C#](images/Apply-Median-Filter-to-Image.png#center)
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.
![Applicera Gauss Weiner-filter på bildgråskalning](images/Apply-Gauss-Weiner-Filter-to-Image.png#center)
Följande är bilden före och efter applicering av gauss wienerfiltret utan gråskalning.
![Applicera Gauss Weiner färgfilter på bilden](images/Apply-Gauss-Weiner-Color-Filter-to-Image.png#center)
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");
}
![Applicera Motion Weiner Filter på bild i C#](images/Apply-Motion-Weiner-Filter-to-Image.png#center)
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.