본문 바로가기
프로그래밍/OpenCV.

[OpenCV] 02.. Gray Scale과 Resize

by _Chavi 2020. 9. 20.

이번엔 OpenCV로 불러온 이미지를 간단하게 가공해 보겠습니다.

 

소스코드
import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

@SuppressWarnings("static-access")
public class Assignment_1 {

	public static void main(String[] args) {
		
		System.load("경로생략/OpenCV/lib/x64/opencv_java440.dll");
		
		try {
			String locLenna = "경로생략/Lenna.png";
			
			Mat imageLenna = Imgcodecs.imread(locLenna);
			Mat imageGrayLenna = new Mat();
			Mat imageResizeLenna = new Mat();
			
			// GrayScale
			Imgproc.cvtColor(imageLenna, imageGrayLenna, Imgproc.COLOR_RGB2GRAY);
			
			// Resize
			Size sizeLenna = new Size(256, 256);
			Imgproc.resize(imageGrayLenna, imageResizeLenna, sizeLenna);

			Imshow showLenna = new Imshow("Lenna");
			showLenna.show(imageLenna, "Lenna", true);
			showLenna.show(imageGrayLenna, "LennaGray", true);
			showLenna.show(imageResizeLenna, "LennaSize",true);
			
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

}

 

실행결과

012
원본 / Gray Scale / Resize

 

참고

OpenCV 라이브러리 JAVA버전에는 아쉽게도 GUI로 표기해주는 메서드가 없습니다... 관련 내용을 서치 도중 GitHub에 아주 좋은 소스가 있어서 사용하였습니다.

 

추가!!

추가 조사 결과 OpenCV 라이브러리 JAVA버전에서 GUI로 표기해주는 메서드가 있는 것으로 확인했습니다.

Doc참고 부탁드립니다. 하기와 같이 사용하여도 동일한 결과를 보실 수 있습니다.

			//Imshow showLenna = new Imshow("Lenna");
			//showLenna.show(imageLenna, "Lenna", true);
			//showLenna.show(imageGrayLenna, "LennaGray", true);
			//showLenna.show(imageResizeLenna, "LennaSize",true);
			
			// Add
			HighGui.imshow("Lenna", imageLenna);
			HighGui.imshow("LennaGray", imageGrayLenna);
			HighGui.imshow("LennaSize", imageResizeLenna);
			HighGui.waitKey();

댓글