使用cvCreateVideoWriter函数,可以将视频流写入视频文件;
使用cvLogPolar函数,可以将每一帧图像转换为对数极坐标格式,
最后将转换后的图像序列写入新的视频文件中。
//将一个video转换为灰度级
#include <opencv\cv.hpp>
#include <opencv2\highgui\highgui.hpp>
int main(int argc, char* argv[]) {
CvCapture *capture = 0;
capture = cvCreateFileCapture("movie.avi");//加载视频文件
if (!capture) { //判断加载文件是否成功
return -1;
}
IplImage *bgr_frame = cvQueryFrame(capture);//更新帧
double fps = cvGetCaptureProperty( //获取视频流的属性
capture,
CV_CAP_PROP_FPS); //此处获取的是帧率
CvSize size = cvSize( //视频图像的大小
(int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH),
(int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT));
CvVideoWriter *writer = cvCreateVideoWriter( //初始化视频输出文件
"video.avi",//输出video文件的名字
//CV_FOURCC('M', 'J', 'P', 'G'),//视频压缩的编码格式
CV_FOURCC('M', 'J',