OpenCV cvNamedWindow没有出现在Fedora下

时间:2009-12-16 12:36:40

标签: c++ opencv fedora

正如标题所暗示的那样,我只是试图让一个命名的窗口出现。我已经和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;
}

我看不出为什么这样做不起作用,但由于某种原因,窗口永远不会出现。 还有其他人经历过这个吗?它正在努力!

1 个答案:

答案 0 :(得分: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;
}