【发布时间】:2012-01-04 16:29:45
【问题描述】:
我正在使用 openCV 从摄像头捕获视频并存储到 avi 文件,问题是当我完成捕获并运行 avi 文件时,视频流看起来快得尴尬...
这里是代码
int isColor = 1;
int frameW = 640;
int frameH = 480;
int fps = 25;
CvCapture* capture = cvCaptureFromCAM(0);
assert( capture != NULL );
cvNamedWindow( "Webcam", CV_WINDOW_AUTOSIZE);
CvVideoWriter *writer = cvCreateVideoWriter(
"out.avi",
CV_FOURCC('M','J','P','G'),
fps,
cvSize(frameW,frameH),
isColor
);
IplImage* frame = cvQueryFrame( capture );
while( (frame = cvQueryFrame( capture )) != NULL ) {
cvWriteFrame(writer, frame);
cvShowImage("Webcam", frame);
char c = cvWaitKey( 33 );
if ( c == 27 ) break;
}
我不明白为什么当我在 Windows 7 32 位或 64 位和 Vs2008 和 OpenCV 2.3.1 上使用 cvGetCaptureProperty(CV_CAP_PROP_FPS) 时,这个函数总是返回 0,它是错误的,请帮助我,谢谢
【问题讨论】:
标签: windows visual-studio-2008 visual-c++ opencv