代码之家  ›  专栏  ›  技术社区  ›  n00dle

opencv cvnamedwindow不出现在fedora下

  •  0
  • n00dle  · 技术社区  · 15 年前

    正如标题所示,我只是想让一个命名的窗口出现。我已经和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 回复  |  直到 10 年前
        1
  •  2
  •   aliteralmind    10 年前

    打电话就行了 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;
    }