La modifica delle immagini viene utilizzata in varie applicazioni per manipolare le immagini per un’ulteriore elaborazione. Abbiamo scritto una serie di blog, ad esempio ritaglio, rotazione, sfocatura, ecc., che ti sono utili per implementare funzionalità di modifica delle immagini nelle tue applicazioni. In questo articolo, ti mostreremo come applicare i filtri mediana e wiener, che sono comunemente usati per attenuare e uniformare le immagini. Vediamo quindi come applicare i filer median e wiener a un’immagine a livello di codice in C#.
- API C# per applicare filtri immagine mediana e Wiener
- Applica il filtro mediano a un’immagine in C#
- Applicare il filtro Wiener Gauss a un’immagine
- Motion Wiener Filtraggio di un’immagine
API C# per applicare filtri immagine mediana e Wiener - Download gratuito
Aspose.Imaging for .NET è un’incredibile API per implementare funzionalità di modifica delle immagini nelle applicazioni .NET. Utilizzeremo questa API per applicare i filtri mediana e wiener alle immagini. Puoi scaricare l’API o installarla da NuGet.
PM> Install-Package Aspose.Imaging
Applica il filtro mediano a un’immagine in C#
Il filtro mediano è una tecnica di filtraggio digitale non lineare, utilizzata per ridurre il rumore delle immagini. Di seguito sono riportati i passaggi per applicare un filtro mediano a un’immagine in C#.
- Innanzitutto, carica l’immagine usando il metodo Image.Load().
- Quindi, trasmetti l’immagine al tipo RasterImage.
- Crea un’istanza della classe MedianFilterOptions e inizializzala con la dimensione del rettangolo.
- Applicare il filtro mediano utilizzando il metodo RasterImage.Filter(Rectangle, MedianFilterOptions).
- Infine, salva l’immagine risultante usando il metodo RasterImage.Save().
Nell’esempio di codice seguente viene illustrato come applicare un filtro mediano a un’immagine in C#.
// Carica l'immagine rumorosa
using (Image image = Image.Load("jack.jpg"))
{
// Trasmetti l'immagine in RasterImage
RasterImage rasterImage = image as RasterImage;
if (rasterImage == null)
{
return;
}
// Crea un'istanza della classe MedianFilterOptions e imposta la dimensione
MedianFilterOptions options = new MedianFilterOptions(4);
// Applica il filtro e salva l'immagine
rasterImage.Filter(image.Bounds, options);
image.Save("jack_median.jpg");
}
Di seguito è riportata l’immagine prima e dopo l’applicazione del filtro mediano.
Applicare il filtro Wiener Gauss a un’immagine in C#
Un altro metodo comunemente usato per ridurre al minimo il rumore additivo e la sfocatura nelle immagini è il gauss wiener. Di seguito sono riportati i passaggi per applicare il filtro gauss wiener a un’immagine in C#.
- Innanzitutto, carica l’immagine usando il metodo Image.Load().
- Quindi, trasmetti l’immagine al tipo RasterImage.
- Crea un’istanza della classe GaussWienerFilterOptions e inizializzala con la dimensione del raggio e il valore uniforme.
- (Facoltativo) Per ottenere un’immagine in scala di grigi, imposta la proprietà GaussWienerFilterOptions.Grayscale su true.
- Applicare il filtro gauss wiener utilizzando il metodo RasterImage.Filter(Rectangle, GaussWienerFilterOptions).
- Infine, salva l’immagine risultante usando il metodo RasterImage.Save().
Nell’esempio di codice seguente viene illustrato come applicare un filtro Wiener gauss a un’immagine in C#.
Di seguito è riportata l’immagine prima e dopo l’applicazione del filtro gauss wiener con l’opzione in scala di grigi.
Quella che segue è l’immagine prima e dopo l’applicazione del filtro gauss wiener senza scala di grigi.
Applica il filtro Motion Wiener a un’immagine in C#
Il filtro Motion Wiener viene utilizzato per rimuovere la sfocatura di un’immagine prodotta a causa degli oggetti in movimento. Di seguito sono riportati i passaggi per applicare il filtro Wiener di movimento a un’immagine in C#.
- Innanzitutto, carica l’immagine usando il metodo Image.Load().
- Quindi, trasmetti l’immagine al tipo RasterImage.
- Crea un’istanza della classe MotionWienerFilterOptions e inizializzala con lunghezza, valore uniforme e angolo.
- Applicare il filtro motion wiener utilizzando il metodo RasterImage.Filter(Rectangle, MotionWienerFilterOptions).
- Infine, salva l’immagine risultante usando il metodo RasterImage.Save().
Nell’esempio di codice seguente viene illustrato come applicare un filtro Wiener di movimento a un’immagine in C#.
// Carica l'immagine rumorosa
using (Image image = Image.Load("jack.jpg"))
{
// Trasmetti l'immagine in RasterImage
RasterImage rasterImage = image as RasterImage;
if (rasterImage == null)
{
return;
}
// Crea un'istanza della classe MotionWienerFilterOptions e imposta la lunghezza, il valore uniforme e l'angolo
MotionWienerFilterOptions options = new MotionWienerFilterOptions(50, 9, 90);
options.Grayscale = true;
// Applicare il filtro MedianFilterOptions all'oggetto RasterImage e salvare l'immagine risultante
rasterImage.Filter(image.Bounds, options);
image.Save("jack_MotionWiener.jpg");
}
API C# Median e Wiener Image Filtering: ottieni una licenza gratuita
Puoi ottenere una licenza temporanea gratuita e applicare filtri mediana e wiener alle immagini senza limitazioni di valutazione.
Conclusione
In questo articolo, hai imparato come applicare i filtri mediana e wiener alle immagini in C#. Inoltre, abbiamo spiegato come ridurre il rumore degli oggetti in movimento in un’immagine. È possibile utilizzare facilmente queste funzionalità nell’applicazione C# per integrare le funzionalità di modifica delle immagini.
Leggi di più
Puoi esplorare di più sull’API di elaborazione delle immagini .NET utilizzando documentazione. Inoltre, puoi condividere le tue domande con noi tramite il nostro forum.