使用opencv的matlab + mex编译文件无法打开视频(mpg)文件

时间:2014-07-17 20:50:32

标签: c++ matlab opencv video

我需要Matlab来处理一些mpg视频数据,并使用OpenCV库提升性能。我使用cvCaptureFromFile()来加载视频。当使用g ++独立编译时它工作正常(当然代码应该从下面修改),但是当用mex编译时它无法在Matlab中打开视频文件。在Matlab中调用时,cvCaptureFromFile()始终返回NULL。在编译和链接mex期间没有错误消息或警告。有什么想法吗?提前谢谢。

//OS: Ubuntu 14.04 LTS 64-bit
//Matlab R2013a
//OpenCV: 2.4.9
//compiler: g++-4.4, or gcc-4.4


#include<iostream>
#include<math.h>
#include<stdio.h>
#include<stdlib.h>
#include<string>

#include<cv.h>
#include<cvaux.h>
#include<highgui.h>

#include "mex.h"

using namespace std;

static CvCapture* capture = NULL;


void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {

string filename;

filename = "test.mpg";

capture = cvCaptureFromFile(filename.c_str());

if (capture == NULL)
{
cout<<"Cannot open file!"<<endl;
}

}

0 个答案:

没有答案