将本地图片合成为视频
在进行提取HOG特征、LBP特征以及SVM分类的过程中需要用到测试数据,将CDW_d2014
数据集中的图片合成为视频进行验证
/
//将本地图片保存为视频
#define ImageNo 1200//图片数
void ImageToVideo()
{
string Imgname;//图片名
ifstream fin("F:/My/Unversity/Graduation/DataSet/CDW_2014/PETS2006/input/input.txt");//载入图片列表
cv::VideoWriter Writer;
string filepath = "F:/My/Unversity/Graduation/DataSet/CDW_2014/PETS2006/input.avi";
Writer.open(filepath, VideoWriter::fourcc('M', 'P', '4', '2'), 25.0, Size(720, 576), 1);
if (!Writer.isOpened())
{
cout << "无法保存视频" << endl;
return;
}
for (int cou = 0; cou < ImageNo && getline(fin, Imgname); cou++)
{
Imgname = "F:/My/Unversity/Graduation/DataSet/CDW_2014/PETS2006/input/" + Imgname;//加上正样本的路径名
cout << "处理:" << Imgname << endl;
cv::Mat src = imread(Imgname, 1);//读取图片
Writer << src;
}
cout << "保存成功" << endl;
Writer.release();
fin.clear();
}
int main()
{
ImageToVideo();
system("pause");
return 0;
}
VideoWriter
的open
函数中参数如下
CV_WRAP virtual bool open(const String& filename, int fourcc, double fps,
Size frameSize, bool isColor = true);
其中
fourcc
,默认为-1即可,可以具体状况自己分析,易错的是frameSize
,容易将宽度和高度写反或者输入错误,故需要清楚自己的图片分辨率。