我用C++(VS2012)使用OpenCV库(2.4.6)编写了这个.
#include#include 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&A网站上的问题所示,我已将opencv_ffmpeg DLL复制到包含我的可执行文件的文件夹中.现在它只能在IDE之外工作(VS2012)
您应该在targetDir中复制opencv_ffmpeg DLL,在本例中是Debug可执行文件夹,而不是Release 1