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
- C#’ta Bir Görüntüye Medyan Filtresi Uygulayın
- Bir Görüntüye Gauss Wiener Filtresi Uygulayın
- Bir Görüntünün Motion Wiener Filtrelemesi
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.
- İlk olarak, Image.Load() yöntemini kullanarak görüntüyü yükleyin.
- Ardından, görüntüyü RasterImage tipine yayınlayın.
- MedianFilterOptions sınıfının bir örneğini oluşturun ve onu dikdörtgenin boyutuyla başlatın.
- RasterImage.Filter(Rectangle, MedianFilterOptions) yöntemini kullanarak medyan filtresini uygulayın.
- Son olarak, ortaya çıkan görüntüyü RasterImage.Save() yöntemini kullanarak kaydedin.
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.
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.
- İlk olarak, Image.Load() yöntemini kullanarak görüntüyü yükleyin.
- Ardından, görüntüyü RasterImage tipine yayınlayın.
- GaussWienerFilterOptions sınıfının bir örneğini oluşturun ve onu yarıçap boyutu ve yumuşak değerle başlatın.
- (İsteğe bağlı) Gri tonlamalı bir görüntü elde etmek için GaussWienerFilterOptions.Grayscale özelliğini true olarak ayarlayın.
- RasterImage.Filter(Rectangle, GaussWienerFilterOptions) yöntemini kullanarak gauss wiener filtresini uygulayın.
- Son olarak, ortaya çıkan görüntüyü RasterImage.Save() yöntemini kullanarak kaydedin.
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.
Gauss wiener filtresini gri tonlama olmadan uygulamadan önceki ve sonraki görüntü aşağıdadır.
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.
- İlk olarak, Image.Load() yöntemini kullanarak görüntüyü yükleyin.
- Ardından, görüntüyü RasterImage tipine yayınlayın.
- MotionWienerFilterOptions sınıfının bir örneğini oluşturun ve onu uzunluk, yumuşak değer ve açı ile başlatın.
- RasterImage.Filter(Rectangle, MotionWienerFilterOptions) yöntemini kullanarak hareket wiener filtresini uygulayın.
- Son olarak, ortaya çıkan görüntüyü RasterImage.Save() yöntemini kullanarak kaydedin.
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# 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.