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
- Aplicar filtro mediano a uma imagem em Java
- Aplicar filtro Gauss Wiener a uma imagem
- Filtragem de Motion Wiener de uma imagem
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.
- Primeiro, carregue a imagem usando o método Image.load().
- Em seguida, converta a imagem para o tipo RasterImage.
- Crie uma instância da classe MedianFilterOptions e inicialize-a com o tamanho do retângulo.
- Aplique o filtro mediano usando o método RasterImage.filter(Rectangle, MedianFilterOptions).
- Finalmente, salve a imagem resultante usando o método RasterImage.save().
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 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.
- Primeiro, carregue a imagem usando o método Image.load().
- Em seguida, converta a imagem para o tipo RasterImage.
- Crie uma instância da classe GaussWienerFilterOptions e inicialize-a com tamanho de raio e valor suave.
- (Opcional) Para obter uma imagem em tons de cinza, use o método GaussWienerFilterOptions.setGrayscale(true).
- Aplique o filtro gauss wiener usando o método RasterImage.filter(Rectangle, GaussWienerFilterOptions).
- Finalmente, salve a imagem resultante usando o método RasterImage.save().
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.
A seguir, a imagem antes e depois de aplicar o filtro gauss wiener sem escala de cinza.
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.
- Primeiro, carregue a imagem usando o método Image.load().
- Em seguida, converta a imagem para o tipo RasterImage.
- Crie uma instância da classe MotionWienerFilterOptions e inicialize-a com comprimento, valor suave e ângulo.
- Aplique o filtro de wiener de movimento usando o método RasterImage.filter(Rectangle, MotionWienerFilterOptions).
- Finalmente, salve a imagem resultante usando o método RasterImage.save().
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");
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.