Applica i filtri mediana e Wiener alle immagini in Java

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 - 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.

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 mediano all'immagine Java

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.

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.

Applica il filtro Gauss Weiner alla scala di grigi dell'immagine

Quella che segue è l’immagine prima e dopo l’applicazione del filtro gauss wiener senza scala di grigi.

Applicare il filtro colore Gauss Weiner all'immagine

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.

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");
Applica il filtro Motion Weiner all'immagine in Java

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.

Guarda anche