2009-12-16 47 views
0

正如标题所示,我只是试图让一个命名窗口出现。我已经与OpenCV合作了一年多了,之前从未遇到过这个问题。出于某种原因,该窗口从不打开。我试过运行一些旧脚本,一切正常。OpenCV cvNamedWindow没有出现在Fedora下

作为一个非常砍倒例如,请参见下面

#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; 
} 

我看不出有任何理由,将无法正常工作,但由于某种原因从未出现的窗口。 有没有其他人经历过这个?它正在进入我的脑海!

回答

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; 
}