Skip to content
Related Articles

Related Articles

Improve Article
Java | Converting an Image into Grayscale using cvtColor()
  • Last Updated : 04 Nov, 2019

To convert a color image to Grayscale image using OpenCV, we read the image into BufferedImage and convert it into Mat Object.

File input = new File("digital_image_processing.jpg");
BufferedImage image =;

To transform the image from RGB to Grayscale format by using method cvtColor() in the Imgproc class.

Imgproc.cvtColor(source mat, destination mat1, Imgproc.COLOR_RGB2GRAY);
Parameters: The method cvtColor() takes three parameters which are the source image matrix, the destination image matrix, and the color conversion type.

// 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
        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 :

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :