Imgcodecs 클래스의 imread() 메서드는 파일 이름을 나타내는 문자열을 매개변수 값으로 받아들입니다. 이 메서드는 지정된 파일의 내용을 행렬 객체로 읽어서 반환합니다. 이 방법을 사용하면 이미지의 내용을 읽을 수 있습니다.
이 외에도 Imgcodecs 클래스는 원하는 읽기 모드를 지정하는 플래그를 나타내는 정수 값을 허용하는 이 메서드의 또 다른 변형도 제공합니다.
p>
다음은 플래그 값으로 사용할 수 있는 Imgcodecs 클래스의 다양한 필드입니다.
IMREAD_COLOR - 플래그가 이 값으로 설정되면 로드된 이미지가 3채널 BGR(Blue Green Red) 컬러 이미지로 변환됩니다.
IMREAD_GRAYSCALE - 플래그가 이 값으로 설정되면 로드된 이미지가 단일 채널 회색조 이미지로 변환됩니다.
IMREAD_LOAD_GDAL - 플래그가 이 값으로 설정되면 GDAL 드라이버를 사용하여 이미지를 로드할 수 있습니다.
IMREAD_ANYCOLOR - 플래그가 이 값으로 설정되면 이미지는 가능한 모든 색상 형식으로 읽혀집니다.
li>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를 매개변수로 전달해야 합니다.
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"); } }