Nel post del blog precedente, abbiamo dimostrato come aggiungere l’effetto sfocato alle immagini. Oggi ti mostreremo come applicare i filtri mediana e wiener, che sono comunemente usati per attenuare e rendere più uniformi le immagini. Vediamo quindi come applicare i filer median e wiener a un’immagine in modo programmatico in Java.
- API Java per applicare filtri immagine mediana e Wiener
- Applica il filtro mediano a un’immagine in Java
- Applicare il filtro Gauss Wiener a un’immagine
- Motion Wiener Filtraggio di un’immagine
API Java per applicare filtri immagine mediana e Wiener - Download gratuito
Per applicare i filtri mediana e wiener alle immagini, utilizzeremo Aspose.Imaging for Java. È una potente API di modifica delle immagini per manipolare le immagini dall’interno delle applicazioni Java. Puoi scaricare l’API o installarla utilizzando le seguenti configurazioni Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>22.9</version>
</dependency>
Applica il filtro mediano a un’immagine in Java
Il filtro mediano è una tecnica di filtraggio digitale non lineare, che è un modo popolare per eliminare il rumore delle immagini. Di seguito sono riportati i passaggi per applicare un filtro mediano a un’immagine in Java.
- 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().
L’esempio di codice seguente mostra come applicare un filtro mediano a un’immagine in Java.
// Carica l'immagine rumorosa
Image image = Image.load("jack.jpg");
// cast dell'immagine in RasterImage
RasterImage rasterImage = (RasterImage) image;
if (rasterImage == null) {
return;
}
// Crea un'istanza della classe MedianFilterOptions e imposta la dimensione.
MedianFilterOptions options = new MedianFilterOptions(4);
// Applica il filtro MedianFilterOptions all'oggetto RasterImage.
rasterImage.filter(image.getBounds(), options);
// Salva l'immagine risultante
image.save("Jac_median_denoise.jpg");
Di seguito è riportata l’immagine prima e dopo l’applicazione del filtro mediano.
Applica il filtro Gauss Wiener a un’immagine in Java
Gauss wiener è un altro metodo comunemente usato per la gradazione delle immagini riducendo al minimo il rumore additivo e la sfocatura. Di seguito sono riportati i passaggi per applicare il filtro gauss wiener a un’immagine in Java.
- 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, utilizzare il metodo GaussWienerFilterOptions.setGrayscale(true).
- Applicare il filtro gauss wiener utilizzando il metodo RasterImage.filter(Rectangle, GaussWienerFilterOptions).
- Infine, salva l’immagine risultante usando il metodo RasterImage.save().
L’esempio di codice seguente mostra come applicare un filtro gauss wiener a un’immagine in Java.
// Carica l'immagine
Image image = Image.load("jack.jpg");
// cast dell'immagine in RasterImage
RasterImage rasterImage = (RasterImage) image;
if (rasterImage == null) {
return;
}
// Crea un'istanza della classe GaussWienerFilterOptions e imposta la dimensione del raggio e il valore uniforme.
GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3);
options.setGrayscale(true);
// Applicare il filtro GaussWienerFilterOptions all'oggetto RasterImage.
rasterImage.filter(image.getBounds(), options);
// Salva l'immagine risultante
image.save("Jac_gauss_weiner.jpg");
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 Java
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 motion wiener a un’immagine in Java.
- 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().
L’esempio di codice seguente mostra come applicare un filtro Wiener di movimento a un’immagine in Java.
// Carica l'immagine
Image image = Image.load("jack.jpg");
// cast dell'immagine in RasterImage
RasterImage rasterImage = (RasterImage) image;
if (rasterImage == null) {
return;
}
// Crea un'istanza della classe MotionWienerFilterOptions e imposta la lunghezza, il valore uniforme e l'angolo.
MotionWienerFilterOptions options = new MotionWienerFilterOptions(10, 2, 10);
//options.setGrayscale(true);
// Applica il filtro MotionWienerFilterOptions all'oggetto RasterImage.
rasterImage.filter(image.getBounds(), options);
// Salva l'immagine risultante
image.save("Jac_motion_weiner.jpg");
API Java 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 Java. Inoltre, abbiamo spiegato come ridurre il rumore degli oggetti in movimento in un’immagine. È possibile utilizzare facilmente queste funzioni nell’applicazione Java per integrare le funzionalità di modifica delle immagini.
Leggi di più
Puoi esplorare di più sull’API di elaborazione delle immagini Java utilizzando documentazione. Inoltre, puoi condividere le tue domande con noi tramite il nostro forum.