Orta ve Wiener Filtrelerinin Uygulanması
Orta ve Wiener Filtrelerinin Uygulanması
Orta filtre, genellikle gürültüyü kaldırmak için kullanılan bir doğrusal olmayan dijital filtreleme tekniğidir. Bu tür gürültü azaltma, daha sonraki işlemlerin sonuçlarını iyileştirmek için tipik bir ön işleme adımıdır. Wiener filtresi, aditif gürültü ve bulanıklaşma tarafından bozulmuş görüntüler için MSE (ortalama kare hatası) optimal sabit doğrusal filtre olarak kabul edilir. Aspose.PSD API geliştiricileri, bir orta filtre uygulayabilir ve gauss wiener filtresini görüntülere uygulayabilir. Bu makale, orta filtresi ve gauss wiener filtresinin nasıl uygulanacağını göstermektedir.
Orta Filtresi Uygulanması
Aspose.PSD, MedianFilterOptions sınıfını RasterImage üzerine bir filtre uygulamak için sağlar. Aşağıda verilen kod parçacığı, bir raster görüntüye orta filtrenin nasıl uygulanacağını göstermektedir.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string sourceFile = dataDir + @"sample.psd"; | |
string destName = dataDir + @"median_test_denoise_out.gif"; | |
// Load the noisy image | |
using (Image image = Image.Load(sourceFile)) | |
{ | |
// Cast the image into RasterImage | |
RasterImage rasterImage = image as RasterImage; | |
if (rasterImage == null) | |
{ | |
return; | |
} | |
// Create an instance of MedianFilterOptions class and set the size, Apply MedianFilterOptions filter to RasterImage object and Save the resultant image | |
MedianFilterOptions options = new MedianFilterOptions(4); | |
rasterImage.Filter(image.Bounds, options); | |
image.Save(destName, new GifOptions()); | |
} |
Gauss Wiener Filtresinin Uygulanması
Aspose.PSD, GaussWienerFilterOptions sınıfını RasterImage üzerine bir filtre uygulamak için sağlar. Aşağıda verilen kod parçacığı, bir raster görüntüye gauss wiener filtresinin nasıl uygulanacağını göstermektedir.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string sourceFile = dataDir + @"sample.psd"; | |
string destName = dataDir + @"gauss_wiener_out.gif"; | |
// Load the noisy image | |
using (Image image = Image.Load(sourceFile)) | |
{ | |
RasterImage rasterImage = image as RasterImage; | |
if (rasterImage == null) | |
{ | |
return; | |
} | |
// Create an instance of GaussWienerFilterOptions class and set the radius size and smooth value. | |
GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3); | |
options.Grayscale = true; | |
// Apply MedianFilterOptions filter to RasterImage object and Save the resultant image | |
rasterImage.Filter(image.Bounds, options); | |
image.Save(destName, new GifOptions()); | |
} |
Renkli Görüntüye Gauss Wiener Filtresinin Uygulanması
Aspose.PSD, renkli görüntüler için GaussWienerFilterOptions sağlar. Aşağıda verilen kod parçacığı, bir renkli görüntüye gauss wiener filtresinin nasıl uygulanacağını göstermektedir.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string sourceFile = dataDir + @"sample.psd"; | |
string destName = dataDir + @"gauss_wiener_color_out.gif"; | |
// Load the noisy image | |
using (Image image = Image.Load(sourceFile)) | |
{ | |
// Cast the image into RasterImage | |
RasterImage rasterImage = image as RasterImage; | |
if (rasterImage == null) | |
{ | |
return; | |
} | |
// Create an instance of GaussWienerFilterOptions class and set the radius size and smooth value. | |
GaussWienerFilterOptions options = new GaussWienerFilterOptions(5, 1.5); | |
options.Brightness = 1; | |
// Apply MedianFilterOptions filter to RasterImage object and Save the resultant image | |
rasterImage.Filter(image.Bounds, options); | |
image.Save(destName, new GifOptions()); | |
} |
Hareketli Wiener Filtresinin Uygulanması
Aspose.PSD, MotionWienerFilterOptions sınıfını RasterImage üzerine bir filtre uygulamak için sağlar. Aşağıda verilen kod parçacığı, bir raster görüntüye hareketli wiener filtresinin nasıl uygulanacağını göstermektedir.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string sourceFile = dataDir + @"sample.psd"; | |
string destName = dataDir + @"motion_filter_out.gif"; | |
// Load the noisy image | |
using (Image image = Image.Load(sourceFile)) | |
{ | |
// Cast the image into RasterImage | |
RasterImage rasterImage = image as RasterImage; | |
if (rasterImage == null) | |
{ | |
return; | |
} | |
// Create an instance of MotionWienerFilterOptions class and set the length, smooth value and angle. | |
MotionWienerFilterOptions options = new MotionWienerFilterOptions(50, 9, 90); | |
options.Grayscale = true; | |
// Apply MedianFilterOptions filter to RasterImage object and Save the resultant image | |
rasterImage.Filter(image.Bounds, options); | |
image.Save(destName, new GifOptions()); | |
} |
Bir Görüntü Üzerinde Düzeltme Filtresi Uygulama
Bu makale, bir görüntü üzerinde düzeltme filtrelerini uygulamak için Aspose.PSD for .NET’in kullanımını göstermektedir. Aspose.PSD API’leri, bu hedefe ulaşmak için verimli ve kolay kullanımlı yöntemler sunmaktadır. Aspose.PSD for .NET, filtreleme için BilateralSmoothingFilterOptions ve SharpenFilterOptions sınıflarını açığa çıkarmıştır. BilateralSmoothingFilterOptions sınıfı bir boyut olarak bir tamsayıya ihtiyaç duyar. Yeniden boyutlandırma işlemlerini gerçekleştirmek için adımlar aşağıdaki gibidir:
- Görüntüyü Image sınıfının sağladığı Load fabrika yöntemi ile yükle.
- Görüntüyü RasterImage’a dönüştür.
- Bir BilateralSmoothingFilterOptions ve SharpenFilterOptions sınıfı örneği oluştur.
- RasterImage.Filter yöntemini çağırırken dikdörtgeni görüntü sınırları olarak ve BilateralSmoothingFilterOptions sınıfı örneğini belirlerken.
- RasterImage.Filter yöntemini çağırırken dikdörtgeni görüntü sınırları olarak ve SharpenFilterOptions sınıfı örneğini belirlerken.
- Kontrastı ayarla
- Parlaklığı ayarla
- Sonuçları kaydet.
Bradley eşikleme algoritmasını kullanma
Görüntü eşikleme, grafik uygulamalarda kullanılmaktadır. Bir görüntünün eşiklenmesinin amacı, pikselleri “koyu” veya “açık” olarak sınıflandırmaktır. Aspose.PSD API, görüntüleri dönüştürürken Bradley eşikleme kullanmanıza olanak tanır. Aşağıdaki kod parçacığı, eşik değerini tanımlamanın ve ardından Bradley’nin eşikleme algoritmasını çağırmanın nasıl yapıldığını göstermektedir.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string sourceFile = dataDir + @"sample.psd"; | |
string destName = dataDir + @"binarized_out.png"; | |
// Load the noisy image | |
// Load an image | |
using (PsdImage image = (PsdImage)Image.Load(sourceFile)) | |
{ | |
// Define threshold value, Call BinarizeBradley method and pass the threshold value as parameter and Save the output image | |
double threshold = 0.15; | |
image.BinarizeBradley(threshold); | |
image.Save(destName, new PngOptions()); | |
} |