您的位置:首页 > 其它

将一段视频进行对数极坐标变换后保存

2010-11-17 21:17 260 查看
#include "cv.h"
#include "highgui.h"

int main(int argc,char** argv){

CvCapture* capture;

// 	if(argc==1){
//
// 		capture=cvCaptureFromCAM(0);
// 		if(!capture){
// 			return -1;
// 		}
//
// 	}
/*	else{*/
capture=cvCaptureFromFile("**.avi");
if(!capture){
return -1;
}
/*	}*/

CvSize size = cvSize((int)cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_WIDTH),(int)cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_HEIGHT));
double fps = cvGetCaptureProperty(capture,CV_CAP_PROP_FPS);

CvVideoWriter* videoWrite=cvCreateVideoWriter("F://write.avi",
CV_FOURCC('D','I','V','X'),
fps,
size
);

IplImage* writeImage;
IplImage* getImage;
while((getImage = cvQueryFrame(capture))!=NULL){
writeImage=cvCreateImage(size,IPL_DEPTH_8U,3);
cvLogPolar(getImage,writeImage,cvPoint2D32f((getImage->width)/2,(getImage->height)/2),40,CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS);
cvWriteFrame(videoWrite,writeImage);
}

cvReleaseImage(&writeImage);
cvReleaseImage(&getImage);
cvReleaseCapture(&capture);
cvReleaseVideoWriter(&videoWrite);

return 0;
}


问题:

1.怎样在VC下给程序传入参数?

2.函数cvLogPolar进行对数极坐标变换,其中第四参数M应如何求

3.cvCreateVideoWriter中第二个参数应怎样选取

CV_FOURCC('P','I','M','1') = MPEG-1 codec
CV_FOURCC('M','J','P','G') = motion-jpeg codec (does not work well)
CV_FOURCC('M', 'P', '4', '2') = MPEG-4.2 codec
CV_FOURCC('D', 'I', 'V', '3') = MPEG-4.3 codec
CV_FOURCC('D', 'I', 'V', 'X') = MPEG-4 codec
CV_FOURCC('U', '2', '6', '3') = H263 codec
CV_FOURCC('I', '2', '6', '3') = H263I codec
CV_FOURCC('F', 'L', 'V', '1') = FLV1 codec
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: