The
convertTo() method of class org.opencv.core.Mat performs the required calculations on the given matrix to change the contrast and brightness of the image. This method accepts 4 parameters -
mat - an empty matrix to hold the result of the same size and type as the source matrix.
#rtype - An integer value specifying the type of the output matrix. If the value is negative, the type will be the same as the source.
alpha - Gain value, must be greater than 0 (default 1).
#beta - Bias value (default 0).
As mentioned above, the beta value passed to this method will change the brightness of the image Image, if the value chosen for this parameter is negative (0 to -255), the image will be less bright. Likewise, if it is greater than 0 (0 to 255), the brightness of the image increases.
To change the contrast of an image, call the convertTo() method by passing the empty matrix, -1 (to get the same type), 1 as the alpha value, and the beta value to increase or decrease the brightness .
import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.imgcodecs.Imgcodecs; public class AlteringBrightness { public static void main (String[] args) { //Loading the OpenCV core library System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); //Reading the Image from the file String file ="D:\Images\tiger.jpg"; Mat src = Imgcodecs.imread(file, Imgcodecs.IMREAD_COLOR); //Creating an empty matrix Mat dest = new Mat(src.rows(), src.cols(), src.type()); //Increasing the brightness of an image src.convertTo(dest, -1, 1, 100); // Writing the image Imgcodecs.imwrite("D:\Images\altering_brightness_100.jpg", dest); } }
Below are various output images for different alpha values -
α value: -100
α value: -50
α value: 50
α Value: 100
The above is the detailed content of How to change the brightness of an image using Java OpenCV library?. For more information, please follow other related articles on the PHP Chinese website!