2012-12-22 64 views
0

我正在學習Learning OpenCV(O'Reilly,來自Bradsky和Kaehler)。OpenCV窗口瞬間消失

編譯並運行例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;我從命令行運行代碼。

是什麼導致窗口如此快速關閉?

+0

歡迎來到Stackoverflow!我做了一些會話/編程英文編輯。希望差異對你有用...... http://stackoverflow.com/posts/14000577/revisions – HostileFork

回答

0

您必須使用while循環來捕獲和顯示視頻,如例2所示。在此版本釋放內存和銷燬窗口後。 ;)

+1

HEHEHE我在發佈後在底部發現了這些評論,我完成了這個練習並逐步完成了本書,BUT我覺得LAME看着這篇文章heheheh好了,現在我知道我必須更仔細地研究示例代碼,而不是僅僅將它粘在我的VB2010中並編譯它。以至於你無論如何都是赫赫 –