全景視頻拼接(五):將拼接後的圖片合成視頻

項目要求:利用雙攝像頭同時採集兩個視頻,離線拼接,將兩個視頻拼接成一個視頻。

該部分代碼實現功能:將拼接後的圖片(有序列)拼接成視頻

代碼:

#include<opencv2\opencv.hpp>
#include<iostream>
#include<Windows.h>

using namespace std;
using namespace cv;

int main()
{
      //Mat src=imread("C:\\Users\\Administrator\\Desktop\\pic_save\\new\\1(1).jpg");
	Mat src=imread("..\\stitch\\1(1).jpg");
    char image_name[1000];
    bool isColor = true;
    int fps = 20;
    //int frameWidth = src.cols;
    //int frameHeight = src.rows;

	//VideoWriter writer("C:\\Users\\Administrator\\Desktop\\new\\test.avi",  CV_FOURCC('X','V','I','D'), fps,
		//Size(640, 480),isColor);
	//VideoWriter writer("C:\\Users\\Administrator\\Desktop\\new\\test2.avi",  CV_FOURCC('X','V','I','D'), fps,
		//Size(640, 480),isColor);
	VideoWriter writer("..\\stitch3.avi",  CV_FOURCC('X','V','I','D'), fps,
	Size(640, 480),isColor);
    cout << "info:" << endl

        << "ff.avi" << endl
       // << "Size:" << frameWidth << "*" << frameHeight << endl
        << "fps:" << fps << endl;

    for (int i = 1; i <= 79; i++)
    {
        sprintf(image_name, "..\\stitch\\1(%d).jpg", i);
		
        src = imread(image_name);
		resize(src,src,Size(640,480));
        if (src.empty())
       {
         
          break;
        }
      
        writer.write(src);

    }
	//writer.release();

	/*VideoCapture cap ("..\\stitch.avi");
	if(cap.isOpened())
		cout << "yes" << endl;
	else 
		cout << "no" << endl;
	//system("pause");
	Mat frame;
	while(1)  

    {  

        cap>>frame;  

        if(frame.empty()) break;

        imshow("當前視頻",frame);  

		waitKey(30);

    }  
	cap.release(); */
	return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章