#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main() {
// 이미지 입력
Mat img = imread("Lenna.png");
// 이미지 크기 데이터 가져오기
Size size = img.size();
cout << size.height << endl;
cout << size.width << endl;
// 이미지 출력
imshow("Lenna", img);
// 키 입력을 받을 때까지 유지
waitKey();
return 0;
}
이미지는 MAT 생성자 이용해 생성한다.
MAT 생성자를 이용해 이미지를 생성할 때 필수적인 두 가지 요소는 이미지 사이즈와 이미지 타입이다.
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
// 이미지 입력
Mat src = imread("Lenna.png");
// 이미지 크기 데이터 가져오기
Size size = src.size();
// 입력 이미지와 동일한 크기로 이미지 생성
Mat dst = Mat(size, CV_8UC3); // size : 이미지 크기, CV_8UC3 : 이미지 타입
// 생성 시 이미지 초기 바탕색 설정
// Mat dst = Mat(size, CV_8UC3, Scalar(255, 255, 255));
// 생성 시 Size 대신 height, width를 사용
// Mat dst = Mat(size.height, size.width, CV_8UC3);
// 이미지 출력
imshow("Lenna", dst);
// 키 입력을 받을 때까지 유지
waitKey();
return 0;
}

예상했듯이 최소한만 들어있는 이미지이다.
이미지 생성 시에 설정하는 타입으로 대체적으로 CV_8UC3을 사용한다.
CV_8UC3의 뜻은 각 비트가 Unsigned 8bits(0~255)로 이루어져 있고, Channel이 3(즉, RGB를 의미한다. 예를 들어, Channel이 1이면 흑백이다.)이라는 의미이다.
자세한 내용은 아래 이미지를 참고하기를 바란다.
