더북(TheBook)

HelloCV 프로그램에서 imread 함수를 이용하여 lenna.bmp 파일을 불러온 후, 영상 데이터가 정상적으로 불러왔는지를 확인하기 위해 Mat::empty() 함수를 사용했습니다. Mat::empty() 함수는 Mat 클래스의 멤버 함수이며, 함수 원형과 동작 방식은 다음과 같습니다.

bool Mat::empty() const

반환

행렬의 rows 또는 cols 멤버 변수가 0이거나, 또는 data 멤버 변수가 NULL이면 true를 반환합니다.

 

Mat 클래스 객체에 저장되어 있는 영상 데이터를 화면에 나타내기 위해서는 먼저 영상 출력을 위한 빈 창을 생성해야 합니다. 이때 사용하는 함수가 namedWindow()이며, 이 함수의 원형은 다음과 같습니다.

void namedWindow(const String& winname, int flags = WINDOW_AUTOSIZE);

winname

영상 출력 창 상단에 출력되는 창 고유 이름. 이 문자열로 창을 구분합니다.

flags

생성되는 창의 속성을 지정하는 플래그. WindowFlags 열거형 상수를 지정합니다.

 

namedWindow() 함수는 두 개의 인자로 구성되어 있지만, 두 번째 인자는 기본 인자가 있으므로 winname 문자열 하나만 지정하여 사용할 수 있습니다. 원래 Windows 운영 체제에서는 각각의 창을 구분하기 위해 핸들(handle)이라는 숫자 값을 사용하지만, OpenCV에서는 각각의 창에 고유한 문자열을 부여하여 각각의 창을 구분합니다. 그러므로 새로운 창을 만들 때에는 winname 인자에 고유한 문자열을 지정해야 합니다. winname으로 지정한 창의 고유 이름은 실제 생성되는 창의 상단 제목 표시줄에 출력됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.