Dans le article de blog précédent, nous avons montré comment ajouter l’effet de flou aux images. Aujourd’hui, nous allons vous montrer comment appliquer les filtres médian et wiener, qui sont couramment utilisés pour débruiter et lisser les images. Voyons donc comment appliquer des filtres médian et wiener à une image par programmation en Java.
- API Java pour appliquer des filtres d’image médian et Wiener
- Appliquer le filtre médian à une image en Java
- Appliquer le filtre Gauss Wiener à une image
- Filtrage Motion Wiener d’une image
API Java pour appliquer des filtres d’image médian et Wiener - Téléchargement gratuit
Pour appliquer les filtres médian et wiener sur les images, nous utiliserons Aspose.Imaging for Java. Il s’agit d’une puissante API d’édition d’images pour manipuler les images à partir des applications Java. Vous pouvez soit télécharger l’API ou l’installer à l’aide des configurations Maven suivantes.
<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>
Appliquer le filtre médian à une image en Java
Le filtre médian est une technique de filtrage numérique non linéaire, qui est un moyen populaire de débruiter les images. Voici les étapes pour appliquer un filtre médian à une image en Java.
- Tout d’abord, chargez l’image à l’aide de la méthode Image.load().
- Ensuite, convertissez l’image en type RasterImage.
- Créez une instance de la classe MedianFilterOptions et initialisez-la avec la taille du rectangle.
- Appliquez le filtre médian à l’aide de la méthode RasterImage.filter(Rectangle, MedianFilterOptions).
- Enfin, enregistrez l’image résultante en utilisant la méthode RasterImage.save().
L’exemple de code suivant montre comment appliquer un filtre médian à une image en Java.
// Charger l'image bruitée
Image image = Image.load("jack.jpg");
// convertir l'image en RasterImage
RasterImage rasterImage = (RasterImage) image;
if (rasterImage == null) {
return;
}
// Créez une instance de la classe MedianFilterOptions et définissez la taille.
MedianFilterOptions options = new MedianFilterOptions(4);
// Appliquez le filtre MedianFilterOptions à l'objet RasterImage.
rasterImage.filter(image.getBounds(), options);
// Enregistrer l'image résultante
image.save("Jac_median_denoise.jpg");
Ci-dessous, l’image avant et après l’application du filtre médian.
Appliquer le filtre Gauss Wiener à une image en Java
Gauss wiener est une autre méthode couramment utilisée pour l’étalonnage des images en minimisant le bruit additif et le flou. Voici les étapes pour appliquer le filtre gauss wiener à une image en Java.
- Tout d’abord, chargez l’image à l’aide de la méthode Image.load().
- Ensuite, convertissez l’image en type RasterImage.
- Créez une instance de la classe GaussWienerFilterOptions et initialisez-la avec la taille du rayon et la valeur de lissage.
- (Facultatif) Pour obtenir une image en niveaux de gris, utilisez la méthode GaussWienerFilterOptions.setGrayscale(true).
- Appliquez le filtre gauss wiener à l’aide de la méthode RasterImage.filter(Rectangle, GaussWienerFilterOptions).
- Enfin, enregistrez l’image résultante en utilisant la méthode RasterImage.save().
L’exemple de code suivant montre comment appliquer un filtre gauss wiener à une image en Java.
// Charger l'image
Image image = Image.load("jack.jpg");
// convertir l'image en RasterImage
RasterImage rasterImage = (RasterImage) image;
if (rasterImage == null) {
return;
}
// Créez une instance de la classe GaussWienerFilterOptions et définissez la taille du rayon et la valeur de lissage.
GaussWienerFilterOptions options = new GaussWienerFilterOptions(12, 3);
options.setGrayscale(true);
// Appliquez le filtre GaussWienerFilterOptions à l'objet RasterImage.
rasterImage.filter(image.getBounds(), options);
// Enregistrer l'image résultante
image.save("Jac_gauss_weiner.jpg");
Ci-dessous, l’image avant et après l’application du filtre gauss wiener avec l’option niveaux de gris.
Voici l’image avant et après l’application du filtre gauss wiener sans échelle de gris.
Appliquer le filtre Motion Wiener à une image en Java
Le filtre Motion Wiener est utilisé pour supprimer le flou d’une image produite à cause des objets en mouvement. Voici les étapes pour appliquer le filtre de mouvement Wiener à une image en Java.
- Tout d’abord, chargez l’image à l’aide de la méthode Image.load().
- Ensuite, convertissez l’image en type RasterImage.
- Créez une instance de la classe MotionWienerFilterOptions et initialisez-la avec la longueur, la valeur de lissage et l’angle.
- Appliquez le filtre de mouvement Wiener à l’aide de la méthode RasterImage.filter(Rectangle, MotionWienerFilterOptions).
- Enfin, enregistrez l’image résultante en utilisant la méthode RasterImage.save().
L’exemple de code suivant montre comment appliquer un filtre Wiener de mouvement à une image en Java.
// Charger l'image
Image image = Image.load("jack.jpg");
// convertir l'image en RasterImage
RasterImage rasterImage = (RasterImage) image;
if (rasterImage == null) {
return;
}
// Créez une instance de la classe MotionWienerFilterOptions et définissez la longueur, la valeur de lissage et l'angle.
MotionWienerFilterOptions options = new MotionWienerFilterOptions(10, 2, 10);
//options.setGrayscale(true);
// Appliquez le filtre MotionWienerFilterOptions à l'objet RasterImage.
rasterImage.filter(image.getBounds(), options);
// Enregistrer l'image résultante
image.save("Jac_motion_weiner.jpg");
API Java Median et Wiener Image Filtering - Obtenez une licence gratuite
Vous pouvez obtenir une licence temporaire gratuite et appliquer des filtres médians et Wiener aux images sans limitation d’évaluation.
Conclusion
Dans cet article, vous avez appris à appliquer des filtres médian et Wiener aux images en Java. De plus, nous avons expliqué comment réduire le bruit des objets en mouvement dans une image. Vous pouvez facilement utiliser ces fonctionnalités dans votre application Java pour intégrer des capacités d’édition d’images.
Lire la suite
Vous pouvez en savoir plus sur l’API de traitement d’image Java à l’aide de documentation. Vous pouvez également partager vos questions avec nous via notre forum.