opencv write webcam output to avi file

后端 未结 2 1029
一生所求
一生所求 2021-01-01 23:28

I am trying to create an avi video from my webcam output using opencv. No exceptions are thrown, however the avi file it creates is 414 bytes in size and does not grow.

2条回答
  •  余生分开走
    2021-01-01 23:39

    Dont use outdated C, use C++ api, it is easy to use and simple, for example the above code can be rewritten in C++ like,

    #include "opencv2/opencv.hpp"
    #include 
    
    using namespace std;
    using namespace cv;
    
    int main(){
    
        VideoCapture vcap(0); 
          if(!vcap.isOpened()){
                 cout << "Error opening video stream or file" << endl;
                 return -1;
          }
    
       int frame_width=   vcap.get(CV_CAP_PROP_FRAME_WIDTH);
       int frame_height=   vcap.get(CV_CAP_PROP_FRAME_HEIGHT);
       VideoWriter video("out.avi",CV_FOURCC('M','J','P','G'),10, Size(frame_width,frame_height),true);
    
       for(;;){
    
           Mat frame;
           vcap >> frame;
           video.write(frame);
           imshow( "Frame", frame );
           char c = (char)waitKey(33);
           if( c == 27 ) break;
        }
      return 0;
    }
    

提交回复
热议问题