2

我想dt_passat.mpg用 OpenCV 打开视频文件。我使用以下代码:

#include <stdio.h>
#include <opencv2/opencv.hpp>

using namespace cv;

int main( int argc, char** argv )
{
    VideoCapture capture("dt_passat.mpg");
    if (!capture.isOpened()) {
        std::cerr << "ERR: capture is not opened" << std::endl;
        getchar();
        return -1;
    }
}

但是,它失败了,我不知道为什么。如何通过 VideoCapture 的初始化(未找到文件/损坏的文件/未知编解码器/等)来了解问题的重点?

4

2 回答 2

3

不幸的是,OpenCV 并不总是有最好的文档。

您可以尝试使用查看内部错误代码cvGetErrorStatus(),然后使用 将其转换为可读字符串cvErrorStr()。请参阅http://opencv.willowgarage.com/documentation/c/core_utility_and_system_functions_and_macros.html#cvGetErrStatus

于 2013-05-25T18:00:25.520 回答
1

opencv 图像/视频/相机 IO 和 gui 实际上只是为了获取和输出样本数据以测试算法以制作真正的应用程序,您需要一个功能更强大的通用库来存储系统内容。

然而,实际的图像处理算法质量非常好。

于 2013-05-25T18:03:40.533 回答