이번엔 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();
}
}
}
실행결과
참고
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();
'프로그래밍 > OpenCV.' 카테고리의 다른 글
[OpenCV] 06.. SIFT Key Point, 기술자 추출(feat.JAVA) (0) | 2020.11.02 |
---|---|
[OpenCV] 05.. Canny Edge와 Sobel Edge(feat.JAVA) (2) | 2020.11.02 |
[OpenCV] 04.. OpenCV 평활화와 이진화(feat.JAVA) (0) | 2020.10.17 |
[OpenCV] 03.. OpenCV 히스토그램(feat.JAVA) (0) | 2020.10.17 |
[OpenCV] 01.. JAVA로 OpenCV 시작하기 (3) | 2020.09.20 |
댓글