gpt4 book ai didi

c++ - OpenCV VideoCapture 无法读取 Windows 7 32 位中的任何视频文件

转载 作者:搜寻专家 更新时间:2023-10-31 01:43:50 25 4
gpt4 key购买 nike

我尝试使用 QtCreator 和 CMake 2.8.12.1 在 C++ 中使用 OpenCV2.4.8 的 VideoCapture 类读取 .avi 或 .mpeg 视频文件。在构建 OpenCV 之前,我下载了 FFMPEG 静态版本并将它们放入 Program Files 目录,我将它们的路径添加到环境变量 PATH 中,然后我下载了 K Lite Codec Pack Full,安装它,然后我才用 Qt 提供的 CMAKE 和 mingw 构建了 OpenCV .安装后,我将构建 OpenCV 的正确路径添加到 PATH。来自网络摄像头的流工作正常,但来自视频文件的流不起作用。我试过 Windows 7 32 位和 Windows 8 64 位。这是代码

#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/core/core.hpp>
#include "opencv2/opencv.hpp"
cv::Mat img;
cv::VideoCapture cap("Prova.avi");
std::cerr << cap.isOpened() << std::endl;
while(cap.read(img)){
cv::imshow("Opencv", img);
cv::waitKey(33);
}

相同的代码适用于 Ubuntu 12.04,具有相同版本的 OpenCV 和我自己构建的 ffmpeg。怎么了?

最佳答案

下载文件 opencv_ffmpeg.dll。我从this得到的

现在根据您使用的 opencv 版本重命名 opencv_ffmpeg.dll。对于 OpenCv 2.4.8,将其重命名为 opencv_ffmpeg248.dll 并将此文件的位置添加到环境变量的 PATH 中。现在尝试运行你的程序。

关于c++ - OpenCV VideoCapture 无法读取 Windows 7 32 位中的任何视频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24470506/

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