imread() Imgcodecs 메서드 클래스는 파일 이름을 나타내는 문자열 값을 매개변수로 받습니다. 이 메서드는 지정된 파일의 내용을 행렬 객체로 읽어서 반환합니다. 이 방법을 사용하면 이미지의 내용을 읽을 수 있습니다.
이 외에도 Imgcodecs 클래스는 필요한 읽기 모드를 지정하는 플래그를 나타내는 정수 값을 허용하는 이 메서드의 또 다른 변형을 제공합니다.
다음은 Imgcodecs의 다양한 필드입니다. 플래그 값으로 사용할 수 있는 클래스입니다.
-
IMREAD_COLOR − 플래그가 이 값으로 설정되면 로드된 이미지가 3채널 BGR(Blue Green Red) 컬러 이미지로 변환됩니다.
-
IMREAD_GRAYSCALE − 플래그가 이 값으로 설정되면 로드된 이미지가 단일 채널 회색조 이미지로 변환됩니다.
-
IMREAD_LOAD_GDAL − 플래그가 이 값으로 설정되면 GDAL 드라이버를 사용하여 이미지를 로드할 수 있습니다.
-
IMREAD_ANYCOLOR − 플래그가 이 값으로 설정되면 이미지를 가능한 모든 색상 형식으로 읽습니다.
-
IMREAD_REDUCED_COLOR_2 또는,
IMREAD_REDUCED_COLOR_4 또는,
IMREAD_REDUCED_COLOR_8 − 플래그가 이 값으로 설정되면 이미지는 3채널 BGR로 읽혀지며 이미지의 크기는 사용된 필드에 대해 이미지 원본 크기의 1/2, 1/4 또는 1/8로 줄어듭니다.피> -
IMREAD_REDUCED_GRAYSCALE_2 또는,
IMREAD_REDUCED_GRAYSCALE_4 또는,
IMREAD_REDUCED_GRAYSCALE_8 − 플래그가 이 값으로 설정되면 이미지는 단일 채널 회색조 이미지로 읽혀지며 이미지 크기는 사용된 필드에 대해 이미지 원본 크기의 1/2, 1/4 또는 1/8로 줄어듭니다. -
IMREAD_UNCHANGED − 플래그가 이 값으로 설정되면 로드된 이미지를 그대로 반환합니다.
따라서 컬러 이미지를 그레이스케일 이미지로 읽어야 하는 경우 IMREAD_GRAYSCALE 또는 IMREAD_REDUCED_GRAYSCALE_X를 매개변수로 전달해야 합니다.
예시 1
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
public class ReadAsGreyScale {
public static void main(String args[]) {
//Loading the OpenCV core library
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
//Reading the Image from the file
Mat matrix = Imgcodecs.imread("D://images//sunset.jpg", Imgcodecs.IMREAD_GRAYSCALE);
//Writing the image
Imgcodecs.imwrite("D://images//sunset_greyscale.jpg", matrix);
System.out.println("Image re-Saved");
}
} 입력

출력

예시 2
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
public class ReadingAsGrey2 {
public static void main(String args[]) {
//Loading the OpenCV core library
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
String input = "D://images//sunset.jpg";
//Reading the Image from the file
Mat matrix = Imgcodecs.imread(input, Imgcodecs.IMREAD_REDUCED_GRAYSCALE_4 );
//Writing the image
Imgcodecs.imwrite("D://images//sunset_grey_8.jpg", matrix);
System.out.println("Image re-Saved");
}
} 출력
