c++ - 我怎样才能知道 OpenCV 的 VideoCapture 初始化时出了什么问题?

标签 c++ opencv error-handling

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

#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 初始化的问题点(未找到文件/损坏的文件/未知编解码器/等)?

最佳答案

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

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

关于c++ - 我怎样才能知道 OpenCV 的 VideoCapture 初始化时出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16752255/

相关文章:

image - 获取坐标以从 OpenCV 输出图像生成边界框

c++ - 使用opencv将图像从BGR转换为ARGB

angular - 捕获错误后如何忽略错误并在rxjs forkJoin中执行最终结果?

google-maps - Google Maps API - 查找导致错误的航点

c++ - 为什么我在声明 ifstream 时收到 "Already defined"错误?

c++ - 我可以将 _T() 宏与变量一起使用吗?

c++ - 映射到方法 c++11

opencv - 我可以将 openCV 库与 Catapult C 一起使用吗?

c++ - 显示如何向 Opera/Firefox 4 等 Vista 窗框的玻璃部分添加按钮/菜单的示例

excel - 使用不存在的过滤器进行错误处理