opencv视频保存

1.使用cvWriteFrame函数无法保存视频。保存下来的视频文件为0KB,无法打开。

   编码设置不正确,自己设置了CV_FOURCC('D','I','V','X')。添加

   int outCompressCodec = (int)cvGetCaptureProperty(pCapture, CV_CAP_PROP_FOURCC);

   获取当前视频的编码格式,输出的视频要和输入视频编码相同才可以保存。

   writer = cvCreateVideoWriter('out.avi',outCompressCodec, fps,cvSize(frame),1);

2.保存的视频比输入视频时间短。

  由于我是自己设置的帧率(设置的25),但是和输入的视频帧率不同。

  使用 int fps = (int)cvGetCaptureProperty(pCapture,CV_CAP_PROP_FPS);获取当前视频的帧率,然后创建 writer时使用fps即可。

3.保存的视频图像倒立

  由于windows的某些图像是底左结构,而Opencv默认的是顶左结构。

  可用cvFlip转换或者IplImage->origin设置即可。

你可能感兴趣的:(opencv视频保存)