Die Bildbearbeitung wird in verschiedenen Anwendungen verwendet, um Bilder für die weitere Verarbeitung zu manipulieren. Wir haben eine Reihe von Blogs geschrieben, z. B. Zuschneiden, Drehen, Verwischen usw., die für Sie nützlich sind, um Bildbearbeitungsfunktionen in Ihren Anwendungen zu implementieren. In diesem Artikel zeigen wir Ihnen, wie Sie Median und Wienerfilter anwenden, die häufig zum Entrauschen und Glätten von Bildern verwendet werden. Sehen wir uns also an, wie Median und Wiener-Filer programmgesteuert in C# auf ein Bild angewendet werden.
- C# API zum Anwenden von Median und Wiener bildfiltern
- Wenden Sie den Medianfilter auf ein Bild in C# an
- Wenden Sie den Gauß-Wiener-Filter auf ein Bild an
- Motion-Wiener-Filterung eines Bildes
C# API zum Anwenden von Median und Wiener bildfiltern – kostenloser Download
Aspose.Imaging for .NET ist eine erstaunliche API zur Implementierung von Bildbearbeitungsfunktionen in .NET-Anwendungen. Wir werden diese API verwenden, um Median und Wiener-Filter auf Bilder anzuwenden. Sie können die API entweder herunterladen oder von NuGet installieren.
PM> Install-Package Aspose.Imaging
Wenden Sie den Medianfilter auf ein Bild in C# an
Der Medianfilter ist eine nichtlineare digitale Filtertechnik, die verwendet wird, um das Rauschen von Bildern zu reduzieren. Im Folgenden finden Sie die Schritte zum Anwenden eines Medianfilters auf ein Bild in C#.
- Laden Sie zuerst das Bild mit der Methode Image.Load().
- Wandeln Sie das Bild dann in den Typ RasterImage um.
- Erstellen Sie eine Instanz der Klasse MedianFilterOptions und initialisieren Sie sie mit der Größe des Rechtecks.
- Wenden Sie den Medianfilter mit der Methode RasterImage.Filter(Rectangle, MedianFilterOptions) an.
- Speichern Sie schließlich das resultierende Bild mit der Methode RasterImage.Save().
Das folgende Codebeispiel zeigt, wie Sie in C# einen Medianfilter auf ein Bild anwenden.
// Laden Sie das verrauschte Bild
using (Image image = Image.Load("jack.jpg"))
{
// Gießen Sie das Bild in RasterImage
RasterImage rasterImage = image as RasterImage;
if (rasterImage == null)
{
return;
}
// Erstellen Sie eine Instanz der MedianFilterOptions Klasse und legen Sie die Größe fest
MedianFilterOptions options = new MedianFilterOptions(4);
// Filter anwenden und Bild speichern
rasterImage.Filter(image.Bounds, options);
image.Save("jack_median.jpg");
}
Unten sehen Sie das Bild vor und nach der Anwendung des Medianfilters.
Anwenden des Gauß-Wiener-Filters auf ein Bild in C#
Eine weitere häufig verwendete Methode zur Minimierung von additivem Rauschen und Unschärfe in den Bildern ist Gauss Wiener. Im Folgenden finden Sie die Schritte zum Anwenden des Gauß-Wiener-Filters auf ein Bild in C#.
- Laden Sie zuerst das Bild mit der Methode Image.Load().
- Wandeln Sie das Bild dann in den Typ RasterImage um.
- Erstellen Sie eine Instanz der Klasse GaussWienerFilterOptions und initialisieren Sie sie mit der Radiusgröße und dem Glättungswert.
- (Optional) Um ein Graustufenbild zu erhalten, setzen Sie die Eigenschaft GaussWienerFilterOptions.Grayscale auf „true“.
- Wenden Sie den Gauß-Wiener-Filter mit der Methode RasterImage.Filter(Rectangle, GaussWienerFilterOptions) an.
- Speichern Sie schließlich das resultierende Bild mit der Methode RasterImage.Save().
Das folgende Codebeispiel zeigt, wie ein Gauß-Wiener-Filter auf ein Bild in C# angewendet wird.
// Laden Sie das verrauschte Bild
using (Image image = Image.Load("jack.jpg"))
{
// Gießen Sie das Bild in RasterImage
RasterImage rasterImage = image as RasterImage;
if (rasterImage == null)
{
return;
}
// Erstellen Sie eine Instanz der Klasse GaussWienerFilterOptions und legen Sie die Radiusgröße und den Glättungswert fest
GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3);
options.Grayscale = true;
// Wenden Sie den MedianFilterOptions-Filter auf das RasterImage Objekt an und speichern Sie das resultierende Bild
rasterImage.Filter(image.Bounds, options);
image.Save("jack_guass.jpg");
}
Unten sehen Sie das Bild vor und nach dem Anwenden des Gauß-Wiener-Filters mit der Graustufenoption.
Das Folgende ist das Bild vor und nach der Anwendung des Gauß-Wiener-Filters ohne Grauskalierung.
Anwenden des Motion-Wiener-Filters auf ein Bild in C#
Der Bewegungs-Wiener-Filter wird verwendet, um die Unschärfe eines Bildes zu entfernen, das aufgrund der sich bewegenden Objekte erzeugt wird. Im Folgenden finden Sie die Schritte zum Anwenden des Bewegungs-Wiener-Filters auf ein Bild in C#.
- Laden Sie zuerst das Bild mit der Methode Image.Load().
- Wandeln Sie das Bild dann in den Typ RasterImage um.
- Erstellen Sie eine Instanz der Klasse MotionWienerFilterOptions und initialisieren Sie sie mit Länge, Glättungswert und Winkel.
- Wenden Sie den Bewegungs-Wiener-Filter mit der Methode RasterImage.Filter(Rectangle, MotionWienerFilterOptions) an.
- Speichern Sie schließlich das resultierende Bild mit der Methode RasterImage.Save().
Das folgende Codebeispiel zeigt, wie Sie einen Bewegungs-Wiener-Filter auf ein Bild in C# anwenden.
// Laden Sie das verrauschte Bild
using (Image image = Image.Load("jack.jpg"))
{
// Gießen Sie das Bild in RasterImage
RasterImage rasterImage = image as RasterImage;
if (rasterImage == null)
{
return;
}
// Erstellen Sie eine Instanz der MotionWienerFilterOptions Klasse und legen Sie die Länge, den Glättungswert und den Winkel fest
MotionWienerFilterOptions options = new MotionWienerFilterOptions(50, 9, 90);
options.Grayscale = true;
// Wenden Sie den MedianFilterOptions-Filter auf das RasterImage Objekt an und speichern Sie das resultierende Bild
rasterImage.Filter(image.Bounds, options);
image.Save("jack_MotionWiener.jpg");
}
C# Median und Wiener Image Filtering API – Holen Sie sich eine kostenlose Lizenz
Sie können eine kostenlose temporäre Lizenz erhalten und ohne Bewertungseinschränkungen Median und Wiener-Filter auf Bilder anwenden.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie Median und Wiener-Filter auf Bilder in C# anwenden. Darüber hinaus haben wir behandelt, wie Sie das Rauschen von sich bewegenden Objekten in einem Bild reduzieren können. Sie können diese Features ganz einfach in Ihrer C#-Anwendung verwenden, um Bildbearbeitungsfunktionen zu integrieren.
Weiterlesen
Weitere Informationen zur .NET bildverarbeitungs-API finden Sie unter Dokumentation. Außerdem können Sie uns Ihre Fragen über unser Forum mitteilen.