Aplicar filtros medianos y Wiener a imágenes en Java

En la publicación de blog anterior, demostramos cómo agregar el efecto de desenfoque a las imágenes. Hoy, le mostraremos cómo aplicar los filtros mediano y wiener, que se usan comúnmente para eliminar el ruido y suavizar las imágenes. Entonces, veamos cómo aplicar archivadores medianos y wiener a una imagen mediante programación en Java.

API de Java para aplicar filtros de imagen Mediana y Wiener - Descarga gratuita

Para aplicar los filtros mediano y wiener en las imágenes, usaremos Aspose.Imaging for Java. Es una potente API de edición de imágenes para manipular las imágenes desde las aplicaciones Java. Puede descargar la API o instalarla usando las siguientes configuraciones de 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>

Aplicar filtro mediano a una imagen en Java

El filtro mediano es una técnica de filtrado digital no lineal, que es una forma popular de eliminar el ruido de las imágenes. Los siguientes son los pasos para aplicar un filtro mediano a una imagen en Java.

El siguiente ejemplo de código muestra cómo aplicar un filtro mediano a una imagen en Java.

// Carga la imagen ruidosa
Image image = Image.load("jack.jpg");

// convertir la imagen en RasterImage
RasterImage rasterImage = (RasterImage) image;

if (rasterImage == null) {
	return;
}

// Cree una instancia de la clase MedianFilterOptions y establezca el tamaño.
MedianFilterOptions options = new MedianFilterOptions(4);

// Aplique el filtro MedianFilterOptions al objeto RasterImage.
rasterImage.filter(image.getBounds(), options);

// Guarda la imagen resultante
image.save("Jac_median_denoise.jpg");

A continuación se muestra la imagen antes y después de aplicar el filtro mediano.

Aplicar filtro mediano a la imagen Java

Aplicar el filtro Gauss Wiener a una imagen en Java

Gauss wiener es otro método comúnmente utilizado para la clasificación de imágenes al minimizar el ruido aditivo y el desenfoque. Los siguientes son los pasos para aplicar el filtro gauss wiener a una imagen en Java.

El siguiente ejemplo de código muestra cómo aplicar un filtro gauss wiener a una imagen en Java.

// Carga la imagen
Image image = Image.load("jack.jpg");

// convertir la imagen en RasterImage
RasterImage rasterImage = (RasterImage) image;

if (rasterImage == null) {
	return;
}

// Cree una instancia de la clase GaussWienerFilterOptions y establezca el tamaño del radio y el valor de suavizado.
GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3);
options.setGrayscale(true);

// Aplique el filtro GaussWienerFilterOptions al objeto RasterImage.
rasterImage.filter(image.getBounds(), options);

// Guarda la imagen resultante
image.save("Jac_gauss_weiner.jpg");

A continuación se muestra la imagen antes y después de aplicar el filtro gauss wiener con la opción de escala de grises.

Aplicar el filtro Gauss Weiner a la escala de grises de la imagen

La siguiente es la imagen antes y después de aplicar el filtro gauss wiener sin escala de grises.

Aplicar filtro de color Gauss Weiner a la imagen

Aplique el filtro Motion Wiener a una imagen en Java

El filtro Wiener de movimiento se utiliza para eliminar la borrosidad de una imagen que se produce debido a los objetos en movimiento. Los siguientes son los pasos para aplicar el filtro Wiener de movimiento a una imagen en Java.

El siguiente ejemplo de código muestra cómo aplicar un filtro de salchicha de movimiento a una imagen en Java.

// Carga la imagen
Image image = Image.load("jack.jpg");

// convertir la imagen en RasterImage
RasterImage rasterImage = (RasterImage) image;

if (rasterImage == null) {
	return;
}

// Cree una instancia de la clase MotionWienerFilterOptions y establezca la longitud, el valor suave y el ángulo.
MotionWienerFilterOptions options = new MotionWienerFilterOptions(10, 2, 10);
//opciones.setGrayscale(true);

// Aplique el filtro MotionWienerFilterOptions al objeto RasterImage.
rasterImage.filter(image.getBounds(), options);

// Guarda la imagen resultante
image.save("Jac_motion_weiner.jpg");
Aplicar el filtro Motion Weiner a la imagen en Java

API de filtrado de imágenes Median y Wiener de Java: obtenga una licencia gratuita

Puede obtener una licencia temporal gratuita y aplicar filtros medianos y wiener a las imágenes sin limitaciones de evaluación.

Conclusión

En este artículo, aprendió a aplicar filtros medianos y wiener a imágenes en Java. Además, hemos cubierto cómo reducir el ruido de los objetos en movimiento en una imagen. Puede usar fácilmente estas funciones en su aplicación Java para integrar capacidades de edición de imágenes.

Lee mas

Puede explorar más sobre la API de procesamiento de imágenes de Java usando documentación. Además, puede compartir sus consultas con nosotros a través de nuestro foro.

Ver también