2017-02-16 139 views
1

如果我在matlab文件add.m中定义add(a,b)函数,我该如何从C++代码调用它? 一个这样简单的例子: add.m:如何使用C++代码调用matlab自定义函数

function y=add(a,b) 
y=a+b; 
end 

C++代码:

int main(){ 
// call add(a,b) ? 
} 

Acturally,我需要在我cpp的代码,使用起来更加compilicate MATLAB功能,如cp2tform()imtransform()

回答

0

您可以从matlab via this生成c代码。并从你的主要功能呼叫。

+0

谢谢,但我想转换不能通过'matlab coder'转换'cf2tform'函数。 – Fire

+0

我不知道那是什么方法,也找不到它在线。但我真的怀疑你可以从C++中调用任何.m文件。另外,我会在OpenCV中寻找类似的功能。例如,http://docs.opencv.org/2.4/modules/imgproc/doc/geometric_transformations.html?highlight=warpaffine可能包含与'imtransform'类似的函数。 – smttsp

+0

你真好,再次感谢。但我需要在matlab中使用“相似变换”,详细地说,将一个具有5个点(src点)的图像转换为另一个模板图像(dst个点),该方法在opencv中不是简单的'仿射变换'。另一个困惑是'estimateRigidTransform'(opencv api)不能接受5点变换,但有时候不能产生'变换矩阵'(T_mat = 0)。 – Fire