0

我有 openCV 2.3,我正在使用 Visual Studio 2010。

    ...
VideoCapture cap;
cap.open("Video.avi");
if( !cap.isOpened() )
{

    puts("***Could not initialize capturing...***\n");
    system("Pause");
    return 0;
} ...

这是 while 程序的代码片段。我添加了一个系统命令以保持输出窗口。在构建项目时我没有遇到任何错误,但是当我开始调试时,输出窗口有以下输出:

warning: Error opening file (../../modules/highgui/src/cap_ffmpeg_impl.hpp:477)
***Could not initialize capturing...***

Press any key to continue . . .

我检查了这个目录,文件可用,但为什么它没有打开?我什至在 bin 文件夹中有 opencv_ffmpeg.dll,其路径已添加到系统路径中。仍然我得到同样的错误....我什至检查了我所做的谷歌搜索的前 3 页,但找不到答案。所以请帮忙!


我提到的错误是因为打开 .avi 文件时出现错误......这是 cap_ffmpeg_impl.hpp 中的代码部分 -

int err = av_open_input_file(&ic, _filename, NULL, 0, NULL);
if (err < 0) {
    CV_WARN("Error opening file"); //Error part
    goto exit_func;
}

该文件位于 D:\OpenCV2.3\opencv\modules\highgui\src。当我对此文件进行任何更改时,它们不会反映在输出窗口中,当我删除此文件时,即使这样它也没有给出任何错误!:OI 无法理解发生了什么......??

4

1 回答 1

0

错误消息可能有点令人困惑。你应该这样读:

<severity>: <message> (<where the message originated from>)

该消息不会告诉您,您的程序无法打开头文件,它只是通知您该消息是在该头文件中创建的。

正如您正确观察到的那样,问题是您的程序找不到 .avi 文件。尝试提供该视频文件的绝对路径:

cap.open("C:/absolute/path/to/Video.avi");
于 2012-08-31T05:36:07.633 回答