gpt4 book ai didi

c++ - OpenCV,捕获的视频比原始相机视频运行得更快!

转载 作者:太空狗 更新时间:2023-10-29 21:07:50 25 4
gpt4 key购买 nike

我正在使用 openCV 从相机捕获视频并存储到 avi 文件,问题是当我完成捕获并运行 avi 文件时,视频流看起来快得令人尴尬......

这是代码

void main( )
{
CvCapture *capture = cvCaptureFromCAM( 0 );

int width = ( int )cvGetCaptureProperty( capture, CV_CAP_PROP_FRAME_WIDTH );
int height = ( int )cvGetCaptureProperty( capture, CV_CAP_PROP_FRAME_HEIGHT );
CvVideoWriter *writer = cvCreateVideoWriter( "myCamCapture.avi",
-1,30, cvSize( width, height ) );
cvNamedWindow("d", CV_WINDOW_AUTOSIZE);
IplImage *frame = 0;


while( 1 )
{
frame = cvQueryFrame( capture );

cvShowImage("d",frame);
cvWriteFrame( writer, frame );
char c = cvWaitKey( 33 );
if( c == 27 ) break;
}

cvReleaseCapture( &capture );
cvReleaseVideoWriter( &writer );
cvDestroyWindow( "d" );


}

请帮忙

最佳答案

您是在告诉作者它应该以每秒 30 帧的速度播放。因此,如果您实际上正在捕捉,比如说,每秒 15 帧,那么这些帧的回放速度将比实时回放更快。

显示捕获的图像、等待按键以及将其写入文件都需要时间。你需要考虑到这一点。您可以尝试预先捕获视频,在发生时测量实际 FPS,然后使用该值编写 AVI。

关于c++ - OpenCV,捕获的视频比原始相机视频运行得更快!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4347580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com