C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – OpenCV将视频保存到文件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我认为我的问题非常基本,但我在OpenCV中编写此代码,只是从网络摄像头捕获视频数据并将其保存到文件中.现在的问题是文件是在所需的目的地进行的,它最初的大小约为286字节.然后,当我将第一帧分配给指针时,大小增加到414字节.但是,当我运行整个代码时,保存的视频的大小仍然是414字节.当然,因此我的媒体播放器无法播放该文件并说“不是QuickTime Player理解的格式”. VLC播放器也是如此.

这是我的相同代码

#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 ..

是因为Quicktime和.avi不能相处得很好.

看看苹果documentation.

否则尝试更改视频编解码器,这是opencv reference.

大佬总结

以上是大佬教程为你收集整理的c – OpenCV将视频保存到文件全部内容,希望文章能够帮你解决c – OpenCV将视频保存到文件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。