如何检查opencv窗口是否已关闭

Ste*_*eve 7 c c++ opencv

如何检查opencv窗口是否已关闭?

我想要做:

cvNamedWindow("main", 1);

while(!cvWindowIsClosed("main"))
{
    cvShowImage("main", myImage);   
}
Run Code Online (Sandbox Code Playgroud)

但这些没有这样的cvWindowIsClosed(...)函数!

kar*_*lip 8

您可以通过以下方式实现您的目标cvGetWindowHandle():

函数cvGetWindowHandle返回本机窗口句柄(在Win32的情况下为HWND,在GTK +的情况下为GtkWidget).[仅Qt后端] qt特定的细节:函数cvGetWindowHandle返回继承自Qt类QWidget的本机窗口句柄.

我们的想法是获取窗口的句柄,然后使用特定的平台API函数来检查该句柄是否仍然有效.

编辑:

或者您可以使用传统cvWaitKey()方法:

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

   // display frame

   exit_key_press = cvWaitKey(10);
}
Run Code Online (Sandbox Code Playgroud)