더북(TheBook)

Mat 클래스 생성자에 영상의 크기 정보를 지정할 때 가로 크기, 세로 크기 순서가 아니라 세로 크기, 가로 크기 순서인 점을 주의하기 바랍니다. 앞 코드에서 img2img3은 서로 크기는 같지만 타입이 다른 영상입니다. img2 객체는 unsigned char 자료형을 사용하고 한 개의 채널이 있는 영상을 표현합니다. img3 객체는 타입이 CV_8UC3이므로 unsigned char 자료형을 사용하고 세 개의 채널이 있는 영상입니다. 보통 CV_8UC1 타입은 그레이스케일 영상에서 사용하고, CV_8UC3 타입은 트루컬러 영상에 사용합니다.

Mat 클래스 생성자에서 행렬의 크기를 지정할 때 Size 클래스를 사용할 수도 있습니다.

Mat::Mat(Size size, int type);

size

새로 만들 행렬의 크기. Size(cols, rows) 또는 Size(width, height)

type

새로 만들 행렬의 타입

 

여기서 사용된 Size 클래스는 2차원 사각형(또는 영상, 행렬)의 가로, 세로 크기를 표현하기 위해 사용하는 OpenCV 클래스입니다. Size 클래스의 생성자는 보통 두 개의 인자를 받으며, 가로 크기와 세로 크기 순서로 값을 지정합니다. 그러므로 가로 크기가 640, 세로 크기가 480인 3채널 컬러 영상을 생성하려면 다음과 같이 코드를 작성합니다.

Mat img4(Size(640, 480), CV_8UC3);     // Size(width, height)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.