소스코드

#include <opencv2/core.hpp> // image 저장 시 사용되는 Mat class를 비롯, OpenCV에서 사용하는 기본적인 자료구조와 함수가 포함되어 있음
#include <opencv2/imgcodecs.hpp> // image file을 읽어오는 함수와 저장하는 함수를 포함
#include <opencv2/highgui.hpp> // 사용자의 입력을 받기 위해 대기하는 함수와 화면에 image를 보여주기 위한 함수가 포함되어 있음
//#include <opencv2/opencv.hpp> 하나만 include하는 방법도 있음
#include <iostream> // 입출력을 위한 C++ header file include

using namespace cv;
using namespace std;
/*
* OpenCV 와 C++ 표준 Library는 다행히 충돌이 나는 이름이 없기 때문에 using namespace를 사용해도 무방
* 이렇게 사용하는게 타이핑하는 양도 줄어들기 때문에 좋음
* 하지만 큰 프로젝트라면 주의 할 필요가 있음
* 다른 Library와 충돌이 나는 이름이 있을 수 있기 때문
*/

int main(void) {

	Mat image; // 입력이미지를 저장할 Mat 객체 선언
	image = imread("gomduri.png", IMREAD_COLOR); // imread 함수로 image를 읽고 return되는 Mat 객체를 변수에 대입
	// IMREAD_UNCHANGED : alpha channel을 포함시킨 color image를 return
	// IMREAD_COLOR : alpha channel이 없는 color image를 return
	// IMREAD_GRAYSCALE : gray scale image로 변환하여 return
        // IMREAD_ANYDEPTH
        // IMREAD_ANYCOLOR
        // IMREAD_LOAD_GDAL
        // IMREAD_REDUCED_GRAYSCALE_2
        // IMREAD_REDUCED_COLOR_2
        // IMREAD_REDUCED_GRAYSCALE_4
        // IMREAD_REDUCED_COLOR_4
        // IMREAD_REDUCED_GRAYSCALE_8
        // IMREAD_REDUCED_COLOR_8
        // IMREAD_IGNORE_ORIENTATION

        // empty() 함수는 객체가 비어있다면 1, 아니라면 0을 반환한다.
	if (image.empty()) { // imread 함수로 읽은 Mat 객체가 비어있다면
		cout << "Could not open or fine the image" << endl; // error message를 보여주고
		return -1; // program을 종료한다.
	}

	namedWindow("Original", WINDOW_AUTOSIZE); // 생략가능
	// "Original" : window 식별자이며 동시에 window title message
	// WINDOW_AUTOSIZE : image 크기에 맞춰 window 크기가 정해진다. 크기고정
	// WINDOW_NORMAL : image가 크다면 해상도에 맞춰 window 크기가 조정된다. 자유크기
	
	/*
	* WINDOW_FULLSCREEN : 전체화면
	* setWindowProperty("Original", WND_PROP_FULLSCREEN, WINDOW_FULLSCREEN); 추가작성
	*/

	imshow("Original", image);
	// first input : window 식별자
	// second input : Mat 객체에 저장된 image

	waitKey(0); // OpenCV 생성한 window가 활성화된 상태에서 keyboard 입력이 있을 때 까지 대기하도록 한다.
	// 일정시간 동안만 대기하고싶게 만들 경우 0 말고 다른 숫자를 적어주면 된다. 단위는 millisecond 1/1,000

	return 0;
}

실행결과

image-20220327215825029

댓글남기기