我認爲我的問題是非常基本的,但我在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例如.. –