2013-02-06 93 views
0

我已經實現了使用opencv 2.3的輪廓檢測代碼。我使用我的網絡攝像頭。 現在我想在捕獲的視頻中實現它,這些視頻是以前記錄的,並在我的數據庫中。如何實時進行離線檢測?

cv::Mat frame; 
cv::Mat back; 
cv::Mat fore; 
cv::VideoCapture cap(0); 
cv::BackgroundSubtractorMOG2 bg; 
bg.nmixtures = 3; 
bg.bShadowDetection = true; 

std::vector<std::vector<cv::Point> > contours; 

我沒有提到我的整個代碼,因爲加載一個AVI文件,我只能在這裏進行編制。

任何人都可以引導我嗎?

Thanx。

+0

我不確定,問題在哪裏?你需要從AVI中提取幀嗎? – bjoernz

+0

您好我需要幫助提取存儲在我的筆記本電腦中的AVI文件中的幀。我進一步想要問AVI文件的長度應該少一些還是多長。感謝名單。 – user1732273

回答

0

您可以打開一個視頻,用下面的代碼片段閱讀框:

cv::Mat frame; 
cv::VideoCapture cap("/path/to/file.avi"); 
bool ok = cap.open(); 
// check for errors 
cap >> frame; // or cap.read(frame); 

您可以閱讀有關文檔VideoCapture瞭解更多詳情。如果遇到問題,您應該檢查,if your video's codec is supported

+0

hi.sry爲gap.I嘗試使用你的建議,但我沒有得到結果。你可以幫我編輯我的代碼嗎?拜託。 – user1732273

+0

我可以嘗試,但我沒有visual-C++的經驗。 – bjoernz