C++视频分解和图片合成视频代码

附上两个常用的代码,一个是视频分解,一个是图片集合成video。

1、视频分解代码

//将视频分解成一张张图片并保存
#include"opencv2/opencv.hpp"
using namespace cv;//如果不定义命名空间则图像采集这个功能是无效的
void main()
{
	VideoCapture cap("D:\\Photo and Video\\depth\\depthCorrect.mp4");
	Mat frame;
	char outfile[50];
	if(!cap.isOpened())//打开失败便退回
		return;
	int totallFrame=cap.get(CV_CAP_PROP_FRAME_COUNT);//获取视频总帧数
	for(int i=1;i<=totallFrame;i++)
	{
	   cap>>frame;//取帧
		if(frame.empty())
			break;
		sprintf(outfile,"D:\\Photo and Video\\depth1\\%d.png",i);//这行代码的作用就是提供一个标准化的名字
		imwrite(outfile,frame);//outfile之所以不加引号是因为outfile是一个已经被定义的字符串
		imshow("video",frame);
		waitKey(100);//每隔两秒显示1帧,数值越小播放越快,有种快进的感觉,后退也一样
	}
	  cap.release();
	  destroyAllWindows();
}

2、图片合成video,该代码没有优化,需要手动调节图片大小以及帧率

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


using namespace std;
using namespace cv;
void Image_To_Video();

int 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值