Aplicar filtros de mediana e Wiener a imagens em Java

No post anterior do blog, demonstramos como adicionar o efeito de desfoque às imagens. Hoje, vamos mostrar como aplicar os filtros mediana e wiener, que são comumente usados para diminuir o ruído e suavizar as imagens. Então, vamos ver como aplicar arquivadores mediana e wiener a uma imagem programaticamente em Java.

API Java para aplicar filtros de imagem mediana e wiener - download gratuito

Para aplicar os filtros mediana e wiener nas imagens, usaremos Aspose.Imaging for Java. É uma poderosa API de edição de imagens para manipular as imagens de dentro dos aplicativos Java. Você pode baixar a API ou instalá-la usando as seguintes configurações do 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 uma imagem em Java

O filtro mediano é uma técnica de filtragem digital não linear, que é uma forma popular de denoise das imagens. A seguir estão as etapas para aplicar um filtro mediano a uma imagem em Java.

O exemplo de código a seguir mostra como aplicar um filtro mediano a uma imagem em Java.

// Carregar a imagem barulhenta
Image image = Image.load("jack.jpg");

// cast a imagem em RasterImage
RasterImage rasterImage = (RasterImage) image;

if (rasterImage == null) {
	return;
}

// Crie uma instância da classe MedianFilterOptions e defina o tamanho.
MedianFilterOptions options = new MedianFilterOptions(4);

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

// Salve a imagem resultante
image.save("Jac_median_denoise.jpg");

Abaixo está a imagem antes e depois de aplicar o filtro de mediana.

Aplicar filtro mediano à imagem Java

Aplicar filtro Gauss Wiener a uma imagem em Java

Gauss wiener é outro método comumente usado para gradação de imagem, minimizando o ruído aditivo e o desfoque. A seguir estão as etapas para aplicar o filtro gauss wiener a uma imagem em Java.

A amostra de código a seguir mostra como aplicar um filtro gauss wiener a uma imagem em Java.

// Carregar a imagem
Image image = Image.load("jack.jpg");

// cast a imagem em RasterImage
RasterImage rasterImage = (RasterImage) image;

if (rasterImage == null) {
	return;
}

// Crie uma instância da classe GaussWienerFilterOptions e defina o tamanho do raio e o valor suave.
GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3);
options.setGrayscale(true);

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

// Salve a imagem resultante
image.save("Jac_gauss_weiner.jpg");

Abaixo está a imagem antes e depois de aplicar o filtro gauss wiener com a opção de tons de cinza.

Aplicar filtro Gauss Weiner à escala de cinza da imagem

A seguir, a imagem antes e depois de aplicar o filtro gauss wiener sem escala de cinza.

Aplicar filtro de cores Gauss Weiner à imagem

Aplicar filtro Motion Wiener a uma imagem em Java

O filtro Motion wiener é usado para remover o desfoque de uma imagem que é produzida por causa dos objetos em movimento. A seguir estão as etapas para aplicar o filtro motion wiener a uma imagem em Java.

O exemplo de código a seguir mostra como aplicar um filtro motion wiener a uma imagem em Java.

// Carregar a imagem
Image image = Image.load("jack.jpg");

// cast a imagem em RasterImage
RasterImage rasterImage = (RasterImage) image;

if (rasterImage == null) {
	return;
}

// Crie uma instância da classe MotionWienerFilterOptions e defina o comprimento, o valor suave e o ângulo.
MotionWienerFilterOptions options = new MotionWienerFilterOptions(10, 2, 10);
//options.setGrayscale(true);

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

// Salve a imagem resultante
image.save("Jac_motion_weiner.jpg");
Aplicar filtro Motion Weiner à imagem em Java

API de filtragem de imagem Java Median e Wiener - Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita e aplicar filtros de mediana e wiener a imagens sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como aplicar filtros de mediana e wiener a imagens em Java. Além disso, abordamos como reduzir o ruído de objetos em movimento em uma imagem. Você pode usar facilmente esses recursos em seu aplicativo Java para integrar recursos de edição de imagem.

consulte Mais informação

Você pode explorar mais sobre a API de processamento de imagem Java usando documentação. Além disso, você pode compartilhar suas dúvidas conosco através do nosso fórum.

Veja também