0

Learning 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 を使用しています。コマンドラインからコードを実行しています。

ウィンドウがすぐに閉じる原因は何ですか?

4

1 に答える 1

0

例2のように、ビデオをキャプチャして表示するには、whileループを使用する必要があります。このリリース後、メモリを解放してウィンドウを破棄します。;)

于 2012-12-22T08:43:42.180 に答える