일반적으로 OpenCV 응용 프로그램이 완전히 종료되는 경우에는 운영 체제에 의해 OpenCV 응용 프로그램이 사용하던 모든 자원이 해제되며, namedWindow() 함수에 의해 만들어진 창도 모두 자동으로 닫힙니다. 앞서 HelloCV 프로그램 소스 코드에서도 destroyWindow() 또는 destroyAllWindows() 함수를 명시적으로 호출하지 않았지만 프로그램 종료 시 영상 출력 창이 자동으로 닫히는 것을 확인했습니다. 그러나 프로그램 동작 중에 창을 닫고 싶을 때에는 destroyWindow() 또는 destroyAllWindows() 함수를 이용해야 합니다.
OpenCV의 영상 출력 창과 관련된 함수 중에는 창 크기를 바꾸거나 위치를 바꿀 수 있는 함수도 있습니다. 먼저 창 위치를 변경하는 함수는 moveWindow()입니다.
void moveWindow(const String& winname, int x, int y); |
|
• winname |
위치를 이동할 창 이름 |
• x |
창이 이동할 위치의 x 좌표 |
• y |
창이 이동할 위치의 y 좌표 |
moveWindow() 함수는 winname 이름의 창을 (x, y) 좌표 위치로 이동시킵니다. 여기서 (x, y) 좌표는 모니터 전체 화면에서의 좌표를 나타내며, 모니터 좌측 상단을 원점으로 간주합니다.
프로그램 동작 중에 영상 출력 창의 크기를 변경하고 싶다면 resizeWindow() 함수를 사용합니다.
void resizeWindow(const String& winname, int width, int height); |
|
• winname |
크기를 변경할 창 이름 |
• width |
창의 가로 크기 |
• height |
창의 세로 크기 |