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

原创 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保存成功了,如下图:


用JAVA获取视频文件中的帧图片并等比缩放

最近项目中有一个需要用JAVA

opencv2:读入摄像机视频并写入AVI视频文件

首先用opencv 来显示一段视频,视频是提取成图片帧来播放的。

h264视频文件

  • 2017年09月29日 13:38
  • 34.79MB
  • 下载

视频文件修复工具 All Media Fixer

  • 2017年06月07日 20:43
  • 1.45MB
  • 下载

ffmpeg 解复用视频文件

解复用视频文件:就是提取出音频文件和视频文件的ES流数据。而对于aac和h264来说,提取出来的数据直接保存并不能成功的播放,原因就在ffmpeg解出的ES数据比较纯净,没有ADTS头,而很多解码器都...

安卓获取视频文件的缩略图

  • 2017年06月27日 19:09
  • 5.89MB
  • 下载

FFMPEG-PHP处理音乐视频文件方法

FFMPEG-PHP处理音乐视频文件方法

12种测试视频文件

  • 2016年12月19日 13:56
  • 24.89MB
  • 下载

c#修改视频文件MD5

  • 2015年11月07日 17:33
  • 58KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:读入视频文件并缩放后存入磁盘
举报原因:
原因补充:

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