我使用OpenCV库(2.4.6)在C ++(VS2012)中编写了这个。
#include <opencv2\opencv.hpp>
#include <opencv2\highgui\highgui.hpp>
int main(){
Mat image;
VideoCapture cap;
cap.open("test.avi");
if(!cap.isOpened()){
cout<< "Capture not open \n";
cin.get();
}
cvNamedWindow("Video Output");
while(1){
cap >> image;
imshow("Video Output",image);
waitKey(30);
}
}
运行它,视频捕获无法打开。 test.avi与可执行文件位于同一目录中,在IDE外部运行它调试/发布/没有任何区别。 OpenCv DLL和视频文件位于:https://www.dropbox.com/sh/16c04d97iw90gtk/88fQ4BLbfl#/ 我能做错什么?
编辑:正如OpenCV Q&amp; A网站上的问题所示,我已将opencv_ffmpeg DLL复制到包含我的可执行文件的文件夹中。现在它只能在IDE(VS2012)之外使用答案 0 :(得分:8)
您应该在targetDir中复制opencv_ffmpeg DLL,在本例中是Debug可执行文件夹,而不是Release 1