Image RVB en niveaux de gris java

Dans divers cas, vous devrez peut-être convertir les images RVB en niveaux de gris ou en noir et blanc, par exemple, dans le traitement d’image, etc. Conformément à cela, dans cet article, vous apprendrez comment convertir une image RVB en niveaux de gris à l’aide de Java . De plus, l’article couvrira explicitement la mise en niveaux de gris et la binarisation des images.

API Java pour convertir une image en niveaux de gris

Afin de convertir les images RVB en niveaux de gris, nous utiliserons Aspose.Imaging for Java. Il s’agit d’une API de traitement d’image Java qui vous permet de manipuler les formats d’image populaires de manière transparente. 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>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging-java</artifactId>
    <version>21.7</version>
    <classifier>jdk16</classifier>
</dependency>

Convertir une image en niveaux de gris en Java

Voici les étapes pour convertir une image RVB en niveaux de gris en Java.

L’exemple de code suivant montre comment convertir une image en niveaux de gris à l’aide de Java.

// Charger une image dans une instance de Image
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Convertir l'image en RasterCachedImage
    RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
    
    // Vérifier si l'image est en cache
    if (!rasterCachedImage.isCached()) {
        // Image du cache si elle n'est pas déjà mise en cache
        rasterCachedImage.cacheData();
    }
    // Transformer l'image en sa représentation en niveaux de gris
    rasterCachedImage.grayscale();
    
    // Enregistrer l'image résultante
    rasterCachedImage.save("Grayscaling_out.jpg");
}

Image d’entrée

Voici un exemple d’image utilisé dans cet article.

image en niveaux de gris Java

Converti en niveaux de gris

Voici l’image après conversion en niveaux de gris.

image en niveaux de gris

Convertir une image en noir et blanc avec binarisation

En binarisation, chaque pixel d’une image ne peut avoir que deux valeurs possibles ; 0 ou 1. Ici, 0 dénote l’absence et 1 dénote la présence de la couleur. Aspose.Imaging prend en charge deux méthodes de binarisation, à savoir la binarisation avec seuil fixe et la binarisation avec seuil Otsu.

Binarisation avec seuil fixe en Java

Voici les étapes pour effectuer la binarisation sur une image à l’aide d’un seuil fixe.

Le code Java suivant applique la binarisation à une image et la convertit en noir et blanc.

// Charger une image dans une instance de Image
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Convertissez l'image en RasterCachedImage et vérifiez si l'image est mise en cache                
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // Image du cache si elle n'est pas déjà mise en cache
        rasterCachedImage.CacheData();
    }

    // Binariser l'image avec un seuil fixe prédéfini et enregistrer l'image résultante                
    rasterCachedImage.binarizeFixed((byte) 100);
    rasterCachedImage.save("BinarizationWithFixedThreshold_out.jpg");
}

Binarisation avec Otsu Threshold en Java

Voici l’étape pour convertir une image en noir et blanc avec le seuil Otsu.

L’exemple de code suivant montre comment convertir une image en noir et blanc avec le seuil Otsu à l’aide de Java.

// Charger une image dans une instance de Image
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Convertissez l'image en RasterCachedImage et vérifiez si l'image est mise en cache
    RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
    if (!rasterCachedImage.isCached())
    {
        // Image du cache si elle n'est pas déjà mise en cache
        rasterCachedImage.cacheData();
    }
    // Binariser l'image avec Otsu Thresholding
    rasterCachedImage.binarizeOtsu();
  
    // Enregistrer l'image résultante
    rasterCachedImage.save("BinarizationWithOtsuThreshold_out.jpg");
}

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite afin d’utiliser l’API sans limitations d’évaluation.

Conclusion

Dans cet article, vous avez appris à convertir une image en niveaux de gris et en noir et blanc à l’aide de Java. De plus, vous avez vu comment appliquer la binarisation aux images à seuil fixe ou Otsu. De plus, 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.

Voir également