2017-02-16 136 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