我认为我的问题是非常基本的,但我在OpenCV中编写此代码以简单地从网络摄像头捕获视频数据并将其保存到文件。现在的问题是文件是在所需的目的地进行的,最初大小约为286字节。然后,当我将第一帧分配给指针时,大小增加到414字节。但是,当我运行整个代码时,保存的视频的大小仍然是414字节。当然,因此我的媒体播放器无法播放该文件,并说“不是QuickTime播放器可以识别的格式”。而VLC播放器也是如此。OpenCV将视频保存到文件
这里是我的同一代码:
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
int main(int argc, char** argv) {
CvCapture* capture;
capture = cvCreateCameraCapture(0);
assert(capture != NULL);
IplImage* bgr_frame = cvQueryFrame(capture);
CvSize size = cvSize(
(int)cvGetCaptureProperty(capture,
CV_CAP_PROP_FRAME_WIDTH),
(int)cvGetCaptureProperty(capture,
CV_CAP_PROP_FRAME_HEIGHT)
);
cvNamedWindow("Webcam", CV_WINDOW_AUTOSIZE);
CvVideoWriter *writer = cvCreateVideoWriter( "/Users/user/Desktop/OpenCV_trial/OpenCV_trial/vidtry.AVI",
CV_FOURCC('D','I','V','X'),
30,
size
);
while((bgr_frame = cvQueryFrame(capture)) != NULL)
{
cvWriteFrame(writer, bgr_frame);
cvShowImage("Webcam", bgr_frame);
char c = cvWaitKey(33);
if(c == 27) break;
}
cvReleaseVideoWriter(&writer);
cvReleaseCapture(&capture);
cvDestroyWindow("Webcam");
return(0);
}
我不知道为什么会这样。我正在使用mac OSX Lion并运行Xcode。
有没有人遇到过这个问题?如果是这样,我怎么解决它?
谢谢!
-Yash
你有没有尝试打开文件与其他玩家VLC例如.. –