将一个视频文件逐帧保存到另一个视频文件中,利用此种方法我们可以进行视频剪辑、拼接等工作。(《学习OpenCV》P31-33)
打开一个原视频,获取其帧率、尺寸等属性。
主要是建立一个写入视频文件的输出器CvVideoWriter* writer,并利用cvCreateVideoWriter函数设置输出属性,依次为文件名、格式、帧率、尺寸。CV_FOURCC函数要注意,可以利用后面四个字符参数设置很多不同的视频格式。
然后在循环中,利用cvWriteFrame函数一帧帧把原视频的帧写入到writer所指定的新视频中。
原文用了一个cvLogPolar的极坐标转换,没看懂什么意思,输出了一个奇奇怪怪的视频,这里就删掉了这一步。
#include"cv.h"
#include"highgui.h"
int main(){
CvCapture* capture = 0;
capture = cvCreateFileCapture("D:\\OPENCV实验\\video1.avi");
if (!capture)
return -1;
IplImage* bgr_frame = cvQueryFrame(capture);
double fps = cvGetCaptureProperty(capture, CV_CAP_PROP_FPS); //获取帧率
CvSize size = cvSize((int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH), //获取尺寸
(int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT));
CvVideoWriter* writer = cvCreateVideoW