用OpenCV写入AVI视频出现错误,《学习OpenCV》里的例2-10

#include"cv.h"#include"highgui.h"intmain(intargc,char*argv[]){CvCapture*capture=0;cap... #include"cv.h"
#include"highgui.h"
int main(int argc,char* argv[])
{
CvCapture* capture=0;
capture=cvCreateFileCapture(argv[1]);
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(
argv[2],CV_FOURCC('M','J','P','G'),fps,size
);
IplImage *logpolar_frame=cvCreateImage(size,IPL_DEPTH_8U,3);
while((bgr_frame=cvQueryFrame(capture))!=NULL)
{
cvLogPolar(
bgr_frame,
logpolar_frame,
cvPoint2D32f(bgr_frame->width/2,bgr_frame->height/2),
40,CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS);
cvWriteFrame(writer,logpolar_frame);
}
cvReleaseVideoWriter(&writer);
cvReleaseImage(&logpolar_frame);
cvReleaseCapture(&capture);
return 0;
}
展开
 我来答
西瓜妈妈育儿助手
2012-08-31 · 新手妈妈育儿助手,24小时在线的育儿专家
西瓜妈妈育儿助手
采纳数:158 获赞数:549

向TA提问 私信TA
展开全部
别听他们胡说,把这句
CvVideoWriter *writer=cvCreateVideoWriter(
argv[2],CV_FOURCC('M','J','P','G'),fps,size
);
改成这句就可以了
CvVideoWriter *writer=cvCreateVideoWriter(argv[2],-1,fps,size);
半梦vs半醒
2012-08-30 · TA获得超过113个赞
知道答主
回答量:143
采纳率:0%
帮助的人:63.3万
展开全部
你是什么系统,opencv哪个版本的啊?
应该是ffmpeg包没安装吧~
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
stor_kiler0
2012-08-30 · TA获得超过111个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:120万
展开全部
你的是win7吧,学习openCV上使用读取摄像头的方法不适合这个操作系统了,建议用xp。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式