Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to check if an opencv window is closed

Tags:

c++

c

opencv

How do you check if an opencv window has been closed?

I would like to do:

cvNamedWindow("main", 1);

while(!cvWindowIsClosed("main"))
{
    cvShowImage("main", myImage);   
}

but these is no such cvWindowIsClosed(...) function!

like image 329
Steve Avatar asked Feb 17 '12 00:02

Steve


1 Answers

What you are trying to do can be achieved with cvGetWindowHandle():

The function cvGetWindowHandle returns the native window handle (HWND in case of Win32 and GtkWidget in case of GTK+). [Qt Backend Only] qt-specific details: The function cvGetWindowHandle returns the native window handle inheriting from the Qt class QWidget.

The idea is to get the handle of the window and then use specific platform API functions to check if that handle is still valid.

EDIT:

Or you could use the tradicional cvWaitKey() approach:

char exit_key_press = 0;
while (exit_key_press != 'q') // or key != ESC
{
   // retrieve frame

   // display frame

   exit_key_press = cvWaitKey(10);
}
like image 149
karlphillip Avatar answered Sep 19 '22 07:09

karlphillip