利用opencv对视频序列中每一帧进行下采样 原分辨率为1280*720 下采样后分辨率为640*360
本来计划的是也保存为mp4格式 但是opencv可以正常读入mp4文件却不能写 在网上搜索说这是opencv以及windows版本之间相互作用的结果,所以最后保存为avi格式了。
代码如下 在vs2012+opencv246下编译运行正常
#include<opencv2/opencv.hpp>
using namespace std;
#define Height 360 //采样后图像的分辨率
#define Width 640
int main()
{
CvCapture * capture = NULL;
capture =cvCreateFileCapture ("F:\\selfmadetest\\test.mp4"); //原文件路径 注意双斜线
int framenum = (int) cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_COUNT);
if(framenum == 0)
return -1;
IplImage * frame ;
IplImage * tempFrame; //存放中间处理后的frame
CvScalar s;