这个opencv写入avi程序,我另外加入的两行想看看有没有数据读出.但没有数据.不知道那里有问题请指点指点?

#include"stdafx.h"#include"cv.h"#include"highgui.h"intmain(intargc,char**argv){CvCapt... #include "stdafx.h"
#include "cv.h"
#include "highgui.h"
int main(int argc, char** argv)
{
CvCapture *capture = cvCreateFileCapture( "C:\\Users\\sl\\Documents\\Visual Studio 2005\\Projects\\test\\test\\12.avi" );

if(!capture)
{
return -1;
}

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("out.avi",CV_FOURCC('M','J','P','G'),fps,size);
IplImage* logpolar_frame = cvCreateImage(size,IPL_DEPTH_8U,3);

cvNamedWindow("haha");//我另外加入的

IplImage *bgr_frame;

while( (bgr_frame=cvQueryFrame(capture)) != NULL )
{
bgr_frame=cvQueryFrame(capture);//Init the video read
cvLogPolar( bgr_frame, logpolar_frame,cvPoint2D32f(bgr_frame->width/2, bgr_frame->height/2),40,CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS );
cvShowImage("haha",bgr_frame);//是我另外加入的
cvWriteFrame( writer, logpolar_frame );
}
cvReleaseVideoWriter( &writer );
cvReleaseImage( &logpolar_frame );
cvReleaseCapture( &capture );
cvDestroyWindow("show");
return(0);
}
展开
 我来答
gujiazhou
2010-11-18
知道答主
回答量:18
采纳率:0%
帮助的人:20.2万
展开全部
我不知道你说的没有数据读出是什么意思,你的问题没有说清楚。
不过可以告诉你有两个地方需要修改,
while( (bgr_frame=cvQueryFrame(capture)) != NULL )
{
bgr_frame=cvQueryFrame(capture);//Init the video read
这里,你看你的while中已经有这个bgr_frame=cvQueryFrame(capture)操作了,不用再重复该语句,这样做的结果是每隔一帧处理一帧,而不是一次处理每帧图像了。
另外你的销毁窗口语句有错误,你应该是从别的地方直接复制过来的吧,你明明定义的窗口名字是“haha”,cvNamedWindow("haha");//我另外加入的
怎么销毁的时候是“show”呢?cvDestroyWindow("show");

如果你只是加了显示图像的语句,不会有什么错误,肯定能正常显示你读取的图像的。
匿名用户
2010-11-18
展开全部
CvVideoWriter *writer = cvCreateVideoWriter("out.avi",CV_FOURCC('M','J','P','G'),fps,size);
改一下
改为:CvVideoWriter *writer = cvCreateVideoWriter("out.avi",CV_FOURCC('x','i','v','d'),fps,size);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式