2016-06-09 110 views
0

我參與了一個團隊項目,並且我有一個源代碼。該代碼需要OPEN CV,因爲我們正在進行圖像處理。OpenCV!如何捕獲視頻?

我們需要捕捉視頻,然後執行一些功能。該視頻位於項目的路徑中。

偏偏捕捉視頻,我們首先定義一個路徑,如:

char *videofile = "video-tp2.avi"; 

然後,我們已經捕獲:

CvCapture *capture; 
capture = cvCaptureFromFile(videofile); 

最後,我們檢查,如果我們有一個捕獲並且如果我們沒有視頻文件,系統可能會提醒您。正是反過來,當視頻存在並且是在項目中

if (!capture) 
    { 
     fprintf(stderr, "Erro ao abrir o ficheiro de vídeo!\n"); 
     return 1; 
    } 

enter image description here

+0

如果答案解決您的問題或幫助你,請考慮接受它,另請參閱: http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –

回答

1

cvCapture是一個結構,其中documentations是指系統警報爲black-box

注意:在C API中,使用黑盒結構CvCapture而不是 VideoCapture。

您可以嘗試cv.QueryFrame(capture)。它會返回NULL如果失敗(見本example):

IplImage* frame; 
    frame = cvQueryFrame(capture); 
    if(!frame) { 
    // FAIL 
    } 

但是因爲C API已被棄用,你應該切換到C++接口(見here