convertTo() org.opencv.core.Mat 메소드 클래스는 주어진 행렬에 대해 필요한 계산을 수행하여 이미지의 대비와 밝기를 변경합니다. 이 메서드는 4개의 매개변수를 받습니다 -
-
매트 − 원본 행렬과 동일한 크기 및 유형의 결과를 유지하기 위한 빈 행렬.
-
rtype - 출력 행렬의 유형을 지정하는 정수 값. 이 값이 음수이면 유형은 소스와 동일합니다.
-
알파 − 게인 값, 0보다 커야 합니다(기본값 1).
-
베타 − 바이어스 값(기본값 0).
OpenCV Java 라이브러리를 사용하여 이미지 밝기 변경
언급했듯이 이 메서드에 전달된 베타 값은 이미지의 밝기를 변경합니다. 이 매개변수에 대해 선택한 값이 음수 값(0 ~ -255)이면 이미지의 밝기가 감소합니다. 마찬가지로 0보다 크면(0~255) 이미지의 밝기가 증가합니다.
이미지의 대비를 변경하려면 convertTo()를 호출합니다. 빈 행렬, -1(동일한 유형을 얻으려면), 1을 알파 값으로, 베타 값을 전달하여 밝기를 높이거나 낮추는 방법입니다.
예시
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); } }
입력 이미지
다음은 다양한 알파에 대한 다양한 출력 이미지입니다. 값 -
α-값:-100
α-값:-50
α-값:50
α-값:100