项目要求:利用双摄像头同时采集两个视频,离线拼接,将两个视频拼接成一个视频。
该部分代码实现功能:将拼接后的图片(有序列)拼接成视频
代码:
#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;
}