在OpenCv中显示黑屏

时间:2016-02-07 20:17:44

标签: opencv video codec

我创建了一个项目并且它正常工作,重新安装操作系统后,我设置了环境和所有组件,突然间我根本没有得到任何输出。我的测试程序很简单:

#include <cstdio>
#include "opencv2/opencv.hpp"
#include <iostream>
#include <sstream>

using namespace cv;
using namespace std;

int main(int, char**)
{
VideoCapture cap("videofile.avi"); 
if (!cap.isOpened())  // check if we succeeded
    return -1;

namedWindow("Frame", 1);
for (;;)
{
    Mat frame;
    if (!cap.read(frame)) {
        cerr << "Unable to read next frame." << endl;
        cerr << "Exiting..." << endl;
        exit(EXIT_FAILURE);
    }

    imshow("Frame", frame);
    if (waitKey(30) >= 0) break;
}

return 0;
}

我已经安装了所有必要的编解码器和更新的视频卡驱动程序。仍然得到相同的黑屏。

输出如下: Black screen

编辑:

问题似乎仅在使用AVC编解码器播放.avi视频

1 个答案:

答案 0 :(得分:0)

编辑: 最后,在PATH变量中缺少bin文件夹,因此在添加新条目 - %OPENCV_DIR%\ bin 之后,一切都在推进。

笨拙的解决方案: 获取opencv_ffmpeg300.dll,opencv_ffmpeg.dll,可以在opencv库中找到     - 获取openh264-1.5.0-win64msvc.dll这个可以在Openh264找到     - 将所有这些复制到项目的工作目录中