读入视频文件并缩放后存入磁盘

原创 2015年05月22日 10:31:48

练习:从本地读入视频数据并将缩放变换后的彩色图像存入磁盘


#include "cv.h"
#include "highgui.h"
int main()
{
	//定义两个窗口用来显示视频缩放后的结果
	cvNamedWindow("in",1);
	cvNamedWindow("out",1);

	//读入视频文件
	CvCapture *capture=cvCreateFileCapture("testVideo.avi");
	if(!capture)
	return -1;
	IplImage *frame=cvQueryFrame(capture);//获取视频帧
	assert(frame->width%2==0&&frame->height%2==0);
	IplImage *out=cvCreateImage(cvSize(frame->width/2,frame->height/2),frame->depth,frame->nChannels);

	//定义新视频帧大小
	CvSize size=cvSize((int)cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_WIDTH)/2,
				  (int)cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_HEIGHT)/2);
	//获取原视频帧率
	int   fps=(int)cvGetCaptureProperty(capture,CV_CAP_PROP_FPS);
	CvVideoWriter *writer=cvCreateVideoWriter("out.avi",CV_FOURCC('X','V','I','D'),fps,size);
	while((frame=cvQueryFrame(capture))!=NULL)
	{
	   cvPyrDown(frame,out,CV_GAUSSIAN_5x5);
	out->origin=1;
	cvWriteFrame(writer,out);
	cvShowImage("in",frame);
	cvShowImage("out",out);
	cvWaitKey(33);
	}
	cvReleaseVideoWriter(&writer);
	cvReleaseImage(&out);
	cvReleaseCapture(&capture);
	cvDestroyWindow("in");
	cvDestroyWindow("out");
	return 0;
}
程序运行结果:


可以看到out.avi保存成功了,如下图:


从cin读入一组词并把它们存入一个vector对象中去,如何把所有的词都改为大写形式,输出结果,每个词占一行。

c++ primer 习题3.17:从cin读入一组词并把它们存入一个vector对象中去,如何把所有的词都改为大写形式,输出结果,每个词占一行。 #include #include #includ...
  • chenxun2009
  • chenxun2009
  • 2014年06月17日 16:41
  • 2280

硬盘视频文件损坏如何快速恢复

我这人喜欢文艺的东西,不在乎价值,看中心意,这不,今年是我第二个本命年,朋友们都说一定要好好过。他们都纷纷给我准备了礼物,虽然都24岁了,但是因为读研究生的关系,大家都没有太多钱。但朋友们还是合伙给我...
  • u014263522
  • u014263522
  • 2014年03月21日 17:15
  • 855

读一组整数到vector 对象,计算并输出每对相邻元素的和。如果读入元素个数 为奇数,则提示用户最后一个元素没有求和,并输出其值。然后修改程序:头 尾元素两两配对(第一个和最后一个,第二个和倒数第二个

读一组整数到vector 对象,计算并输出每对相邻元素的和。如果读入元素个数为奇数,则提示用户最后一个元素没有求和,并输出其值。然后修改程序:头尾元素两两配对(第一个和最后一个,第二个和倒数第二个,以...
  • chenxun2009
  • chenxun2009
  • 2014年04月05日 23:44
  • 1623

java编程之输入并保存到文本文件

/* *编程实现以下功能 在屏幕上显示:输入姓名,然后将用户输入的姓名保存到文本文件中,重复进行,直到用户输入空字符串为止。 */ import java.io.*; public class...
  • u010274673
  • u010274673
  • 2013年05月10日 18:58
  • 1704

【OpenCV】视频读入、播放控制和写入

刚才随便写了下关于OpenCV中的关于对视频进行操作的几个小程序,其实对视频的操作也是OpenCV的一个重要方面,视频可以看作是图像序列,每一帧都是一个单一的图片,采用循环处理每一帧的方式,也就可以对...
  • w12345_ww
  • w12345_ww
  • 2015年05月10日 16:47
  • 2235

c++的vector使用:c++面试题:从cin读入一组词并把它们存入一个vector对象,然后设法把所有词都改写为大写字母

c++面试题:从cin读入一组词并把它们存入一个vector对象,然后设法把所有词都改写为大写字母...
  • u011278039
  • u011278039
  • 2015年09月06日 17:23
  • 1300

字符串分组存入数组

string[] app =  dgvSelectBillList[13, e.RowIndex].Value.ToString().Split(',');                 for ...
  • hrwm2015
  • hrwm2015
  • 2015年01月05日 14:25
  • 223

hadoop存储视频文件

视频文件存储: 可以将大文件切片,每一片做MD5值为key,hbase value为hdfs的路径 这样你的文件很好的散列在集群里 采用scan命令查询的时候把小文件合并成大文件 同一个文件的...
  • godspeedlaile9
  • godspeedlaile9
  • 2013年10月08日 18:35
  • 1661

C#读取目录下的所有视频

// 获取一个文件下的每个视频地址 /* * DirectoryInfo 位于System.IO * @param path : 视频目录的地址 ...
  • yguoelect
  • yguoelect
  • 2017年11月22日 19:22
  • 209

利用nodejs进行大文件(比如在线视频)的读取

nodejs进行视频读取时不能像读取图片之类的一次性读取,而是必须读取一部分返回一部分,这样客户端的播放才会边缓冲边播放,而不必等待全部缓冲完再播放。 老规矩,直接贴代码讲解: var fs = ...
  • yanglang1987500
  • yanglang1987500
  • 2015年01月05日 16:02
  • 3409
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:读入视频文件并缩放后存入磁盘
举报原因:
原因补充:

(最多只允许输入30个字)