一秒钟后,OpenCV窗口消失了

OpenCV window disappears after a split second

本文关键字:窗口 消失了 OpenCV 一秒钟      更新时间:2023-10-16

我正在学习学习OpenCV(O'Reilly,来自Bradsky和Kaehler)。

编译和运行示例2-3后,cvNamedWindow创建的窗口(应该存储/显示视频)仅显示一秒钟。然后它消失了。

这是我的代码:

#include "cv.h"
#include "highgui.h"
int g_slider_position = 0;
CvCapture* g_capture = NULL;
void onTrackbarSlide(int pos) {
    cvSetCaptureProperty(
                         g_capture,
                         CV_CAP_PROP_POS_FRAMES,
                         pos
                         );
}
int main( int argc, char** argv ) {
    cvNamedWindow( "Example3", CV_WINDOW_AUTOSIZE );
    g_capture = cvCreateFileCapture( argv[1] );
    int frames = (int) cvGetCaptureProperty(
                                            g_capture,
                                            CV_CAP_PROP_FRAME_COUNT
                                            );
    if( frames != 0 ) {
        cvCreateTrackbar(
                         “Position”,
                         “Example3”,
                         &g_slider_position,
                         frames,
                         onTrackbarSlide
                         );
    }
    IplImage* frame;
    // While loop (as in Example 2) capture & show video
    // Release memory and destroy window
    return(0);
}

我正在使用Windows 7,OpenCV 2.4.3和VS 2010;我正在从命令行运行代码。

是什么导致窗口如此快地关闭?

您必须使用一个时循环来捕获和显示示例2中的视频。在此版本内存和销毁窗口之后。;)