The cvtColor() method of the Imgproc class changes/converts the color of the image from one to another. This method accepts three parameters −
src − A Matrix object representing source.
dst − A Matrix object representing the destination.
code − An integer value representing the color of the destination image.
To convert a colored image to grayscale you need to pass Imgproc.COLOR_RGB2GRAY as the third parameter to this method.
Example
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class ColorToGrayscale {
public static void main(String args[]) throws Exception {
//Loading the OpenCV core library
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
//Reading the image
Mat src = Imgcodecs.imread("spiderman.jpg");
//Creating the empty destination matrix
Mat dst = new Mat();
//Converting the image to grey scale
Imgproc.cvtColor(src, dst, Imgproc.COLOR_RGB2GRAY);
//Instantiating the Imagecodecs class
Imgcodecs imageCodecs = new Imgcodecs();
//Writing the image
imageCodecs.imwrite("colortogreyscale.jpg", dst);
System.out.println("Image Saved");
}
}Input

Output
