我使用wxWidgets和OpenCV 2.4.8开发了一个应用程序。我只是使用VideoCapture从磁盘加载avi文件。该应用程序在开发的机器上完美运行。但是当在另一台机器上运行时,cap.open(fileName)将返回false,如下面的代码片段所示。有谁知道这里可能出现什么问题?
bool Data::loadVideoFile(const char *fileName)
{
VideoCapture cap;
if ( !cap.open(fileName) ) // if not success, return false
{
return false;
}
else
{
return true;
}
}
答案 0 :(得分:0)
我认为你的路径是正确的。
您需要确保您运行的计算机具有正确的编解码器和DLL。
如果您没有opencv_ffmpeg
DLL,则Highgui会依赖DirectX或VfW编解码器。在这种情况下,如果您没有正确的CODEC,则打开文件将失败。
这与其他OpenCV DLL不同,后者在无法访问时会生成丢失的DLL错误。