如何使用opencv和engine.h

时间:2014-02-13 20:41:47

标签: matlab opencv mex

你能给我一个包含opencv库的基本c ++代码,并且可以调用matlab引擎吗? 该文件应该使用matlab mex进行编译。

(我的问题是当我使用引擎并使用“mex -f optionfile file.cpp”编译它时,我收到错误消息“不能包含opencv \ cv.h”,但是使用opencv而不使用引擎它的工作使用了mex file.xpp)

1 个答案:

答案 0 :(得分:0)

如果你想在Matlab命令窗口之外运行.m文件(例如bash,c ++源文件等),你需要Matlab引擎。

在您的情况下,编译c ++源文件需要mex程序(Matlab外部接口,其作用类似于g ++或其他c ++编译器)。您必须向mex程序提供源文件,该文件是根据Matlab在其文档中引入的内容编写的。

如果您的源代码(.cpp文件)包含opencv/cv.h文件并使用其中一种方法,则需要使用-l链接相应的库(例如libopencv.so,libopencv.dll等)旗。 (我使用mex foo.cpp -l opencv_core

我希望它有所帮助,你可以提供你的来源