环境:opencv2.4.10 VS2010
申明:代码可能会有问题,但是确实实现的图片合成视屏,望广大网友指正。
code:
#include <opencv2/opencv.hp>
using namespace std;
using namespace cv;
#include <stdio.h>
int main()
{
int num = 1;
CvSize size = cvSize(1024,633); //视频帧格式的大小
Mat image;
double fps = 4.0;
VideoWriter writer = VideoWriter("D:\\phei1.avi",CV_FOURCC('M','J','P','G'),fps,size);
char cname[100] = {0};
VideoCapture capture;
capture.open("D:\\phei1.avi");
while(1)
{
sprintf(cname,"D:\\potho\\img%d.jpg",num); //加载图片的文件夹,图片的名称编号是1开始
image = imread(cname,-1);//加载图片文件至内存
if (image.empty())
{
cout << "图像加载失败!" << endl;
return -1;
}
imshow("DisplayImage",image);
writer << image; //将图片写到视屏文件中
if(++num == 23)
break;
cvWaitKey(1);
}
waitKey(0);
destroyWindow("DisplayImage");
//----------------------------------------------------------------------
return 0;
}