2009-12-16 64 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; 
}