Imagen RGB a java en escala de grises

En varios casos, es posible que deba convertir las imágenes RGB a escala de grises o en blanco y negro, por ejemplo, en el procesamiento de imágenes, etc. De acuerdo con eso, en este artículo, aprenderá cómo convertir una imagen RGB a escala de grises usando Java. . Además, el artículo cubrirá explícitamente la escala de grises y la binarización de las imágenes.

API de Java para convertir imágenes a escala de grises

Para convertir imágenes RGB a escala de grises, usaremos Aspose.Imaging for Java. Es una API de procesamiento de imágenes de Java que le permite manipular formatos de imagen populares sin problemas. Puede descargar la API o instalarla usando las siguientes configuraciones de Maven.

<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 una imagen a escala de grises en Java

Los siguientes son los pasos para convertir una imagen RGB a escala de grises en Java.

El siguiente ejemplo de código muestra cómo convertir una imagen a escala de grises usando Java.

// Cargue una imagen en una instancia de Imagen
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Transmitir la imagen a RasterCachedImage
    RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
    
    // Comprobar si la imagen está en caché
    if (!rasterCachedImage.isCached()) {
        // Caché de imagen si aún no está en caché
        rasterCachedImage.cacheData();
    }
    // Transformar la imagen a su representación en escala de grises
    rasterCachedImage.grayscale();
    
    // Guarda la imagen resultante
    rasterCachedImage.save("Grayscaling_out.jpg");
}

Imagen de entrada

La siguiente es una imagen de muestra utilizada en este artículo.

imagen a escala de grises Java

Convertido a escala de grises

La siguiente es la imagen después de la conversión a escala de grises.

imagen en escala de grises

Convertir imagen a blanco y negro con binarización

En la binarización, cada píxel de una imagen puede tener solo dos valores posibles; 0 o 1. Aquí, 0 denota la ausencia y 1 denota la presencia del color. Aspose.Imaging admite dos métodos de binarización, es decir, binarización con umbral fijo y binarización con umbral Otsu.

Binarización con umbral fijo en Java

Los siguientes son los pasos para realizar la binarización en una imagen utilizando un umbral fijo.

El siguiente código Java aplica binarización a una imagen y la convierte a blanco y negro.

// Cargue una imagen en una instancia de Imagen
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Transmita la imagen a RasterCachedImage y verifique si la imagen está almacenada en caché                
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // Caché de imagen si aún no está en caché
        rasterCachedImage.CacheData();
    }

    // Binarice la imagen con un umbral fijo predefinido y guarde la imagen resultante                
    rasterCachedImage.binarizeFixed((byte) 100);
    rasterCachedImage.save("BinarizationWithFixedThreshold_out.jpg");
}

Binarización con Otsu Threshold en Java

Los siguientes son los pasos para convertir una imagen a blanco y negro con el umbral Otsu.

El siguiente ejemplo de código muestra cómo convertir una imagen a blanco y negro con el umbral de Otsu usando Java.

// Cargue una imagen en una instancia de Imagen
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Transmita la imagen a RasterCachedImage y verifique si la imagen está almacenada en caché
    RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
    if (!rasterCachedImage.isCached())
    {
        // Caché de imagen si aún no está en caché
        rasterCachedImage.cacheData();
    }
    // Binarizar imagen con Otsu Thresholding
    rasterCachedImage.binarizeOtsu();
  
    // Guarda la imagen resultante
    rasterCachedImage.save("BinarizationWithOtsuThreshold_out.jpg");
}

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para utilizar la API sin limitaciones de evaluación.

Conclusión

En este artículo, aprendió cómo convertir una imagen a escala de grises y en blanco y negro usando Java. Además, has visto cómo aplicar la binarización a las imágenes con umbral fijo u Otsu. Además, puede explorar más sobre la API de procesamiento de imágenes de Java utilizando documentación. Además, puede compartir sus consultas con nosotros a través de nuestro foro.

Ver también