opencv视频学习第六课(opencv写视频文件)笔记整理

10 篇文章 0 订阅
7 篇文章 0 订阅

现在来学习如何将图片集写成视频文件吧。

先将图片集统一命名,然后通过一个变量来控制读取图片。

然后使用cvCreateVideoWriter()函数创建视频写设备,使用cvResize()函数将不同尺寸的图片调整成同一个尺寸,使用cvWriteFrame()函数将图片数据写入到视频写设备中。大概的思想就是这样了,好像也没有什么好说的,单纯的记录一下这个课时,以后也许会有延伸

#include "highgui.h"
#include "cxcore.h"
#include "cv.h"
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
	CvSize size = cvSize(480,360);
	double fps = 1;

	//创建视频写设备
	CvVideoWriter* writer = cvCreateVideoWriter(
				"E:\\3\\liu.avi",
				CV_FOURCC('X','V','I','D'),
				fps,
				size);

	int image_id=0;//控制图片名称
	char filename[256];

	sprintf(filename, "E:\\3\\liu (%d).jpg",image_id);

	IplImage* src = cvLoadImage(filename);//加载图像

	if(!src)return 0;

	IplImage* src_resize = cvCreateImage(size,8,3);//创建一个图像空间

	cvNamedWindow("avi");

	while(src)
	{
		cvShowImage("avi",src_resize);
		cvWaitKey(10);

		//由于图片的大小不一定都是size,所以在写入视频前,使用cvResize函数将图片调整成size大小,存放在src_resize中
		cvResize(src, src_resize);

		cvWriteFrame(writer,src_resize);//再将src_resize的内容加载到writer视频设备中

		cvReleaseImage(&src);//释放

		image_id++;
		sprintf(filename,"E:\\3\\liu (%d).jpg",image_id);
		src = cvLoadImage(filename);//将图片加载到src中
	}

	cvReleaseVideoWriter(&writer);
	cvReleaseImage(&src_resize);
	return 0;
}


重点介绍的函数

1、cvCreateVideoWriter(conts char* filename,//新建视频的文件名字
                    int fourcc,//视频压缩的编码格式(由电脑安装的编码器决定的)
                    double fps,//每秒播放的帧数
                    CvSize frame_size,//尺寸
                    int is_color=1//如果非零,编码器将希望得到彩色帧进行编码,否则是灰度帧
                    );//创建视频写设备

2、viod cvResize(const CvArr* src,//源图像
              CvArr* dst,//目标图像 
              int interpolation=CV_INTER_LINEAR//方式
              );//重新调整图像src

3、int cvWriteFrame(CvVideoWriter* writer,//视频写入器结构
                 const IplImage* image//被写入的帧
                 );//把一帧图像写入到视频文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值