gpt4 book ai didi

opencv - Windows 中的 VideoCapture OpenCV 2.4.2 错误

转载 作者:太空宇宙 更新时间:2023-11-03 20:48:52 25 4
gpt4 key购买 nike

我在 Windows XP 32 位下使用 VideoCapture 类和 OpenCV 2.4.2 时遇到问题。它不会打开任何文件或相机,修复它很痛苦。我使用的是 visual studio 2010,但我也尝试了 QTcreator 中的代码,结果相同。

测试代码如下:

#include "opencv/cv.h"
#include "opencv/highgui.h"
#include <iostream>
#include <string>
#include <iomanip>
#include <sstream>

using namespace cv;
using namespace std;

int main()
{
const char* videoPath = "C:/video/";
string videoName = string(videoPath) + "avi.avi";
VideoCapture cap(videoName);

if(!cap.isOpened())
{
std::cout<<"Fail"<<std::endl;
return -3;
}
return 0;
}

输出始终为“-3”。Qt Creator 显示了一个 警告:打开文件时出错 (../../modules/highgui/src/cap_ffmpeg_impl.hpp:361)

我调试了一下,问题出现在第一行:

CvCapture* cvCreateFileCapture_FFMPEG_proxy(const char * filename)
{
CvCapture_FFMPEG_proxy* result = new CvCapture_FFMPEG_proxy;
if( result->open( filename ))
return result;
delete result;
#if defined WIN32 || defined _WIN32
return cvCreateFileCapture_VFW(filename);
#else
return 0;
#endif
}

在 cap_ffmpeg.cpp 内部文件中。

我已经在雪豹下的 mac 中测试了相同的代码并且它可以工作。不足为奇,因为它一定是图书馆的问题。我已经使用 c 函数 cvCapture 轻松快速地打开了具有相同路径的 avi 文件。我得到了 'C:\opencv\opencv\build\x86\vc10\bin' 的所有 dll包含在 mi 调试文件中。我也得到了 tbb.dll 和所有“C:\opencv\opencv\3rdparty\ffmpeg”内容。

这让我发疯,所以我们将不胜感激。

提前致谢。

最佳答案

在我的例子中,同样的问题在删除 C:\Windows\System32 中的所有 opencv_***.dll 文件后得到解决。所以,我只是通过像 "%PATH%;C:\Program Files\OpenCV2.4.2\build\x86\vc10/bin" 这样的路径使用 dll 文件。请试一试。

关于opencv - Windows 中的 VideoCapture OpenCV 2.4.2 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12279833/

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