Medyan ve Wiener Filtrelerini C#'daki Görüntülere Uygulayın

Görüntü düzenleme, çeşitli uygulamalarda görüntüleri daha fazla işlemek üzere manipüle etmek için kullanılır. Uygulamalarınızda görüntü düzenleme özelliklerini uygulamanız için yararlı olan kırpma, döndürme, bulanıklaştırma vb. gibi bir dizi blog yazdık. Bu yazıda, görüntüleri yumuşatmak ve gürültüyü gidermek için yaygın olarak kullanılan medyan ve wiener filtrelerinin nasıl uygulanacağını göstereceğiz. O halde medyan ve wiener doldurucuların bir görüntüye programlı olarak C# ile nasıl uygulanacağını görelim.

Medyan ve Wiener Görüntü Filtrelerini Uygulamak için C# API’si - Ücretsiz İndirme

Aspose.Imaging for .NET, .NET uygulamalarında görüntü düzenleme özelliklerini uygulamak için harika bir API’dir. Bu API’yi resimlere medyan ve wiener filtreleri uygulamak için kullanacağız. API’yi indirebilir veya NuGet’ten yükleyebilirsiniz.

PM> Install-Package Aspose.Imaging

C#’ta Bir Görüntüye Medyan Filtresi Uygulayın

Medyan filtre, görüntülerdeki gürültüyü azaltmak için kullanılan doğrusal olmayan bir dijital filtreleme tekniğidir. Aşağıda, C# dilinde bir görüntüye medyan filtresi uygulama adımları yer almaktadır.

Aşağıdaki kod örneği, C# dilinde bir görüntüye medyan filtresinin nasıl uygulanacağını gösterir.

// Gürültülü görüntüyü yükle 
using (Image image = Image.Load("jack.jpg"))
{
    // Görüntüyü RasterImage'a aktarın
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // MedianFilterOptions sınıfının bir örneğini oluşturun ve boyutu ayarlayın
    MedianFilterOptions options = new MedianFilterOptions(4);
    
    // Filtre uygula ve resmi kaydet
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_median.jpg");
}

Medyan filtreyi uygulamadan önceki ve sonraki görüntü aşağıdadır.

Görüntü C#'a Medyan Filtresi Uygulayın

C#’ta Bir Görüntüye Gauss Wiener Filtresi Uygulayın

Görüntülerdeki ilave gürültüyü ve bulanıklığı en aza indirmek için yaygın olarak kullanılan bir başka yöntem de gauss wiener’dir. Gauss wiener filtresini C# dilinde bir görüntüye uygulama adımları aşağıdadır.

Aşağıdaki kod örneği, C# dilinde bir görüntüye gauss wiener filtresinin nasıl uygulanacağını gösterir.

// Gürültülü görüntüyü yükle 
using (Image image = Image.Load("jack.jpg"))
{
    // Görüntüyü RasterImage'a aktarın
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // GaussWienerFilterOptions sınıfının bir örneğini oluşturun ve yarıçap boyutunu ve yumuşak değeri ayarlayın
    GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3);
    options.Grayscale = true;

    // MedianFilterOptions filtresini RasterImage nesnesine uygulayın ve ortaya çıkan görüntüyü kaydedin
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_guass.jpg");
}

Gauss wiener filtresini gri tonlama seçeneğiyle uygulamadan önceki ve sonraki görüntü aşağıdadır.

Görüntü Gri Tonlamasına Gauss Weiner Filtresi Uygulayın

Gauss wiener filtresini gri tonlama olmadan uygulamadan önceki ve sonraki görüntü aşağıdadır.

Görüntüye Gauss Weiner Renk Filtresi Uygula

C#’ta Bir Görüntüye Motion Wiener Filtresi Uygulayın

Motion wiener filtresi, hareket eden nesneler nedeniyle oluşan bir görüntüdeki bulanıklığı gidermek için kullanılır. C# dilinde bir görüntüye motion wiener filtresini uygulama adımları aşağıdadır.

Aşağıdaki kod örneği, C# dilinde bir görüntüye hareket wiener filtresinin nasıl uygulanacağını gösterir.

// Gürültülü görüntüyü yükle 
using (Image image = Image.Load("jack.jpg"))
{
    // Görüntüyü RasterImage'a aktarın
    RasterImage rasterImage = image as RasterImage;
    if (rasterImage == null)
    {
        return;
    }

    // MotionWienerFilterOptions sınıfının bir örneğini oluşturun ve uzunluğu, pürüzsüz değeri ve açıyı ayarlayın
    MotionWienerFilterOptions options = new MotionWienerFilterOptions(50, 9, 90);
    options.Grayscale = true;

    // MedianFilterOptions filtresini RasterImage nesnesine uygulayın ve ortaya çıkan görüntüyü kaydedin
    rasterImage.Filter(image.Bounds, options);
    image.Save("jack_MotionWiener.jpg");
}
C# ile Görüntüye Motion Weiner Filtresi Uygulayın

C# Medyan ve Wiener Görüntü Filtreleme API’si - Ücretsiz Lisans Alın

Ücretsiz bir geçici lisans alabilirsiniz ve değerlendirme sınırlamaları olmadan görüntülere medyan ve wiener filtreleri uygulayabilirsiniz.

Çözüm

Bu makalede, C# dilinde medyan ve wiener filtrelerinin resimlere nasıl uygulanacağını öğrendiniz. Ayrıca, bir görüntüdeki hareketli nesnelerin gürültüsünün nasıl azaltılacağını ele aldık. Görüntü düzenleme yeteneklerini entegre etmek için bu özellikleri C# uygulamanızda kolayca kullanabilirsiniz.

Devamını oku

Belgeleri kullanarak .NET görüntü işleme API’si hakkında daha fazlasını keşfedebilirsiniz. Ayrıca forumumuz aracılığıyla da sorularınızı bizimle paylaşabilirsiniz.

Ayrıca bakınız