Appliquer des filtres médian et Wiener aux images en C#

L’édition d’images est utilisée dans diverses applications pour manipuler des images en vue d’un traitement ultérieur. Nous avons écrit une série de blogs, à savoir recadrage, rotation, flou, etc., qui vous sont utiles pour implémenter des fonctionnalités d’édition d’images dans vos applications. Dans cet article, nous allons vous montrer comment appliquer les filtres médian et wiener, qui sont couramment utilisés pour débruiter et lisser les images. Voyons donc comment appliquer des filers médian et wiener à une image par programmation en C#.

API C# pour appliquer des filtres d’image médian et Wiener - Téléchargement gratuit

Aspose.Imaging for .NET est une API incroyable pour implémenter des fonctionnalités d’édition d’images dans les applications .NET. Nous utiliserons cette API pour appliquer des filtres médian et wiener sur les images. Vous pouvez soit télécharger l’API ou l’installer à partir de NuGet.

PM> Install-Package Aspose.Imaging

Appliquer le filtre médian à une image en C#

Le filtre médian est une technique de filtrage numérique non linéaire, qui est utilisée pour réduire le bruit des images. Voici les étapes pour appliquer un filtre médian à une image en C#.

L’exemple de code suivant montre comment appliquer un filtre médian à une image en C#.

// Charger l'image bruitée 
using (Image image = Image.Load("jack.jpg"))
{
    // Convertir l'image en RasterImage
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // Créez une instance de la classe MedianFilterOptions et définissez la taille
    MedianFilterOptions options = new MedianFilterOptions(4);
    
    // Appliquer le filtre et enregistrer l'image
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_median.jpg");
}

Ci-dessous, l’image avant et après l’application du filtre médian.

Appliquer le filtre médian à l'image C#

Appliquer le filtre Gauss Wiener à une image en C

Une autre méthode couramment utilisée pour minimiser le bruit additif et le flou dans les images est le gauss wiener. Voici les étapes pour appliquer le filtre gauss wiener à une image en C#.

L’exemple de code suivant montre comment appliquer un filtre Gauss Wiener à une image en C#.

// Charger l'image bruitée 
using (Image image = Image.Load("jack.jpg"))
{
    // Convertir l'image en RasterImage
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // Créez une instance de la classe GaussWienerFilterOptions et définissez la taille du rayon et la valeur de lissage
    GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3);
    options.Grayscale = true;

    // Appliquez le filtre MedianFilterOptions à l'objet RasterImage et enregistrez l'image résultante
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_guass.jpg");
}

Ci-dessous, l’image avant et après l’application du filtre Gauss Wiener avec l’option Niveaux de gris.

Appliquer le filtre Gauss Weiner à l'échelle de gris de l'image

Voici l’image avant et après l’application du filtre gauss wiener sans échelle de gris.

Appliquer le filtre de couleur Gauss Weiner à l'image

Appliquer le filtre Motion Wiener à une image en C#

Le filtre Motion Wiener est utilisé pour supprimer le flou d’une image produite à cause des objets en mouvement. Voici les étapes à suivre pour appliquer le filtre de mouvement Wiener à une image en C#.

L’exemple de code suivant montre comment appliquer un filtre Wiener de mouvement à une image en C#.

// Charger l'image bruitée 
using (Image image = Image.Load("jack.jpg"))
{
    // Convertir l'image en RasterImage
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // Créez une instance de la classe MotionWienerFilterOptions et définissez la longueur, la valeur de lissage et l'angle
    MotionWienerFilterOptions options = new MotionWienerFilterOptions(50, 9, 90);
    options.Grayscale = true;

    // Appliquez le filtre MedianFilterOptions à l'objet RasterImage et enregistrez l'image résultante
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_MotionWiener.jpg");
}
Appliquer le filtre Motion Weiner à l'image en C #

API C# Median et Wiener Image Filtering - Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite et appliquer des filtres médians et Wiener aux images sans limitation d’évaluation.

Conclusion

Dans cet article, vous avez appris à appliquer des filtres médian et Wiener aux images en C#. De plus, nous avons expliqué comment réduire le bruit des objets en mouvement dans une image. Vous pouvez facilement utiliser ces fonctionnalités dans votre application C# pour intégrer des fonctionnalités d’édition d’images.

Lire la suite

Vous pouvez en savoir plus sur l’API de traitement d’image .NET à l’aide de documentation. Vous pouvez également partager vos questions avec nous via notre forum.

Voir également