gpt4 book ai didi

c++ - 在 OpenCV 中播放 AVI 文件

转载 作者:太空狗 更新时间:2023-10-29 23:20:10 31 4
gpt4 key购买 nike

我似乎无法使用 OpenCV 播放我的 avi 文件。我在 Mac 上,文件可与 Quicktime 和 VLC 播放器一起使用。我曾尝试使用 mencoder 将其转换为 i420,但仍然没有成功。没有出现错误消息,程序似乎自动关闭,我不确定如何调试它。

int main(int argc, char* argv[]) 
{
cvNamedWindow( "Example2", CV_WINDOW_AUTOSIZE );
CvCapture* capture = cvCreateFileCapture( argv[1] );
IplImage* frame;
while(1) {
frame = cvQueryFrame( capture );
if( !frame ) break;
cvShowImage( "Example2", frame );
char c = cvWaitKey(33);
if( c == 27 ) break;
}
cvReleaseCapture( &capture );
cvDestroyWindow( "Example2" );
}

最佳答案

好吧,由于您的代码缺乏错误检查,也许 cvCreateFileCapture() 有问题,您永远不会知道,直到您检查函数的返回值。

无论如何,您应该在此处删除或添加此语句的调试:

if( !frame ) break;

因为如果在检索文件的第一帧时出现问题,您的应用程序将直接放弃并静默退出,给您一种“什么都没发生”的感觉。

将其更改为:

if (!frame) { printf("Uow, huge fail!\n"); break;}

但最重要的是:您为什么不使用 cvCaptureFromAVI() ?检查一下:http://nashruddin.com/How_to_Play_AVI_Files_with_OpenCV

关于c++ - 在 OpenCV 中播放 AVI 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3252199/

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