Java | Convertir una imagen en escala de grises usando cvtColor()

Para convertir una imagen en color a una imagen en escala de grises usando OpenCV, leemos la imagen en BufferedImage y la convertimos en Mat Object.

Syntax:
File input = new File("digital_image_processing.jpg");
BufferedImage image = ImageIO.read(input);

Para transformar la imagen de formato RGB a escala de grises usando el método cvtColor() en la clase Imgproc.

Sintaxis:
Imgproc.cvtColor(mat de origen, mat1 de destino, Imgproc.COLOR_RGB2GRAY);
Parámetros: El método cvtColor() toma tres parámetros que son la array de la imagen de origen, la array de la imagen de destino y el tipo de conversión de color.

// Java program to convert a color image to gray scale
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
  
public class GeeksforGeeks {
    public static void main(String args[]) throws Exception
    {
  
        // To load  OpenCV core library
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        String input = "C:/opencv/GeeksforGeeks.jpg";
  
        // To Read the image
        Mat source = Imgcodecs.imread(input);
  
        // Creating the empty destination matrix
        Mat destination = new Mat();
  
        // Converting the image to gray scale and 
        // saving it in the dst matrix
        Imgproc.cvtColor(source, destination, Imgproc.COLOR_RGB2GRAY);
  
        // Writing the image
        Imgcodecs.imwrite("C:/opencv/GeeksforGeeks.jpg", destination);
        System.out.println("The image is successfully to Grayscale");
    }
}
Input : 


Output :


Publicación traducida automáticamente

Artículo escrito por support3 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 *