Mengaplikasikan Filter Median dan Wiener
Menerapkan Filter Median dan Wiener
Filter median adalah teknik penyaringan digital nonlinier, sering digunakan untuk menghilangkan noise. Pengurangan noise seperti ini adalah langkah pra-pemrosesan khas untuk meningkatkan hasil pemrosesan selanjutnya. Filter Wiener adalah filter linier optimal MSE (mean squared error) stasioner untuk gambar yang terdegradasi oleh noise tambahan dan kabur. Dengan menggunakan Aspose.PSD untuk pengembang API .NET, kita dapat menerapkan filter median untuk mengurangi noise pada gambar dan dapat menerapkan filter gauss wiener pada gambar. Artikel ini menjelaskan bagaimana filter median dan filter gauss wiener dapat diterapkan pada gambar.
Menerapkan Filter Median
Aspose.PSD menyediakan kelas MedianFilterOptions untuk menerapkan filter pada RasterImage. Potongan kode di bawah ini menunjukkan bagaimana cara menerapkan filter median pada gambar raster.
// 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()); | |
} |
Menerapkan Filter Gauss Wiener
Aspose.PSD menyediakan kelas GaussWienerFilterOptions untuk menerapkan filter pada RasterImage. Potongan kode di bawah ini menunjukkan bagaimana cara menerapkan filter gauss wiener pada gambar raster.
// 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()); | |
} |
Menerapkan Filter Gauss Wiener untuk Gambar Berwarna
Aspose.PSD menyediakan GaussWienerFilterOptions untuk gambar berwarna juga. Potongan kode di bawah ini menunjukkan bagaimana cara menerapkan filter gauss wiener pada gambar berwarna.
// 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()); | |
} |
Menerapkan Filter Motion Wiener
Aspose.PSD menyediakan kelas MotionWienerFilterOptions untuk menerapkan filter pada RasterImage. Potongan kode di bawah ini menunjukkan bagaimana cara menerapkan filter motion wiener pada gambar raster.
// 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()); | |
} |
Menerapkan Filter Koreksi pada Gambar
Artikel ini menjelaskan penggunaan Aspose.PSD untuk .NET untuk melakukan filter koreksi pada gambar. API Aspose.PSD telah mengekspos metode yang efisien dan mudah digunakan untuk mencapai tujuan ini. Aspose.PSD untuk .NET telah mengekspos kelas BilateralSmoothingFilterOptions dan SharpenFilterOptions untuk filtrasi. Kelas BilateralSmoothingFilterOptions memerlukan bilangan bulat sebagai ukuran. Langkah-langkah untuk melakukan Resize adalah sebagai berikut:
- Memuat gambar menggunakan metode pabrik Load yang ditampilkan oleh kelas Image.
- Mengonversi gambar menjadi RasterImage.
- Membuat sebuah instance kelas BilateralSmoothingFilterOptions dan SharpenFilterOptions.
- Memanggil metode RasterImage.Filter sambil menentukan persegi panjang sebagai batas gambar dan instansi kelas BilateralSmoothingFilterOptions.
- Memanggil metode RasterImage.Filter sambil menentukan persegi panjang sebagai batas gambar dan instansi kelas SharpenFilterOptions.
- Menyesuaikan kontras
- Mengatur kecerahan
- Menyimpan hasilnya.
Menggunakan Algoritma Ambang Bradley
Pemberian ambang pada gambar digunakan dalam aplikasi grafis. Tujuan memberikan ambang pada gambar adalah untuk mengklasifikasikan piksel sebagai “gelap” atau “terang”. API Aspose.PSD memungkinkan Anda menggunakan pemberian ambang Bradley saat mengonversi gambar. Potongan kode berikut menunjukkan bagaimana mendefinisikan nilai ambang dan kemudian memanggil algoritma ambang Bradley.
// 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()); | |
} |