Procesamiento de imágenes en Java: lectura y escritura

Java implementa un tipo particular de objeto llamado BufferedImage para imágenes en Java. Una imagen almacenada en búfer se puede leer desde varios tipos de imágenes distintos (es decir, BMP, HEIC, etc.). No todos están respaldados por ImageIO, pero existen complementos para ampliar ImageIO y otras bibliotecas, como Apache Imaging y JDeli.

En Java mismo, toda la complejidad de varios tipos de imágenes está oculta y solo trabajamos en BufferedImage. Java proporciona acceso inmediato a los píxeles de la imagen y la información de color y permite conversiones y procesamiento de imágenes.

Clases requeridas para realizar las operaciones de lectura y escritura: 

1. java.io.File: Para leer y escribir un archivo de imagen, debemos importar la clase File. Esta clase representa nombres de rutas de archivos y directorios en general.

2. java.io.IOException: para manejar errores, usamos la clase IOException.

3. java.awt.image.BufferedImage: Para guardar la imagen, creamos el objeto BufferedImage; usamos la clase BufferedImage. Este objeto se utiliza para almacenar una imagen en la RAM.

4. javax.imageio.ImageIO: Para realizar la operación de lectura y escritura de imágenes, importaremos la clase ImageIO. Esta clase tiene métodos estáticos para leer y escribir una imagen.

Java

// Java program to demonstrate read and write of image
  
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
  
public class MyImage {
    public static void main(String args[])
        throws IOException
    {
        // width of the image
        int width = 963;
  
        // height of the image
        int height = 640;
  
        // For storing image in RAM
        BufferedImage image = null;
  
        // READ IMAGE
        try {
            File input_file = new File(
                "C:/Users/hp/Desktop/Image Processing in Java/gfg-logo.png");
  
            // image file path create an object of
            // BufferedImage type and pass as parameter the
            // width,  height and image int
            // type. TYPE_INT_ARGB means that we are
            // representing the Alpha , Red, Green and Blue
            // component of the image pixel using 8 bit
            // integer value.
  
            image = new BufferedImage(
                width, height, BufferedImage.TYPE_INT_ARGB);
  
            // Reading input file
            image = ImageIO.read(input_file);
  
            System.out.println("Reading complete.");
        }
        catch (IOException e) {
            System.out.println("Error: " + e);
        }
  
        // WRITE IMAGE
        try {
            // Output file path
            File output_file = new File(
                "C:/Users/hp/Desktop/Image Processing in Java/gfg.png");
  
            // Writing to file taking type and path as
            ImageIO.write(image, "png", output_file);
  
            System.out.println("Writing complete.");
        }
        catch (IOException e) {
            System.out.println("Error: " + e);
        }
    } // main() ends here
} // class ends here

Producción – 

Nota: este código no se ejecutará en el IDE en línea, ya que necesita una imagen en el disco.

Este artículo es una contribución de Pratik Agarwal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *