0

正如标题所示,我只是试图让一个命名窗口出现。我已经使用 OpenCV 一年多了,以前从未遇到过这个问题。由于某种原因,窗口永远不会打开。我试过运行我的一些旧脚本,一切正常。

作为一个非常精简的示例,请参见下文

#include "cv.h"
#include "highgui.h"

int main(int argc, char** argv) {

    cvNamedWindow( "video", 0 );
    IplImage *im = cvCreateImage( cvSize(200,200), 8, 3 );
    while(1) {
        cvShowImage( "video", im );
    }

    return 0;
}

我看不出为什么这不起作用,但由于某种原因,窗口永远不会出现。有没有其他人经历过这个?它让我头疼!

4

1 回答 1

2

只需cvWaitKey(int milliseconds)在循环内调用。该函数通知 GUI 系统运行图形挂起事件。你的代码应该是这样的:

int main(int argc, char** argv) {
   cvNamedWindow( "video", 0 );
   IplImage *im = cvCreateImage( cvSize(200,200), 8, 3 );
   while(1) {
       cvShowImage( "video", im );
       cvWaitKey(100); //wait for 100 ms for user to hit some key in the window
   }

   return 0;
}
于 2009-12-31T09:03:59.623 回答