使用opencv3.1,打开文件,返回0,同样的代码用opencv2.1的库就没问题,为啥呢
李_军 2016-03-22 01:18:52 vs2010
#include "opencv2\opencv.hpp"
#ifdef _DEBUG
#pragma comment(lib,"opencv_world310d.lib")
#else
#pragma comment(lib,"opencv_world310.lib")
#endif
CvCapture *VideoCap; //载入视频
IplImage *SrcImage; //原图像
PLAYOPENCV_API void __stdcall SetPlayFileName(char *FileName)
{
VideoCap = cvCreateFileCapture(FileName);//读取指定位置处的视频
}
PLAYOPENCV_API int __stdcall GrabFileName(char *FileName,int SplitNum) //每间隔几帧,抓取一帧图像
{
int i;
for (i=0;i<SplitNum;i++)
cvQueryFrame(VideoCap);
SrcImage = cvQueryFrame(VideoCap);
if(!SrcImage)
return 0;
cvSaveImage(FileName,SrcImage);
return -1;
}
这段代码,使用2.1的dll库都能抓取图片,为什么使用3.1的库,VideoCap始终返回0.同样的一个文件放在
d:\1.avi
VideoCap始终为0 ,同样的代码同样的文件 opencv3.1为啥不行呢