2017-02-25 35 views
0

我想將墊子保存到std :: vector並在此之後播放視頻。OpenCV - 保存在向量中的墊子<Mat>

#include "opencv2/opencv.hpp" 

using namespace cv; 
using namespace std; 

int main(int, char**) 
{ 
    VideoCapture cap(0); 
    if (!cap.isOpened()) 
     return -1; 

    vector<Mat> v; 
    Mat m; 
    for (int i = 0; i < 50; ++i) 
    { 
     cap >> m; 
     v.push_back(m); 
    } 
    puts("After:\n"); 

    for (auto i = 0; i < v.size(); ++i) 
    { 
     imshow("Camera", v[i]); 
    } 

    return 0; 
} 

但沒有什麼:)打開「相機」窗口並關閉。

回答

2
  1. 更換v.push_back(m)v.push_back(m.clone()),因爲你需要每個矢量條目是一個單獨的矩陣,現在他們都有着相同的數據。
  2. 在您的循環中添加延遲:之前或之後imshow()
  3. 添加waitKey(0)return 0之前呼叫;
+0

作品,謝謝。 –