2017-02-16 3 views
1

Если я определяю функцию add(a,b) в файле matlab add.m, как я могу ее назвать из кода C++? один простой пример, как это: add.m:Как вызвать функцию Matlab с самофиксацией с кодом C++

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

C++ код:

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

Acturally, мне нужно использовать более compilicate функции MatLab, как cp2tform() и imtransform() в моем CPP коде.

ответ

0

Вы можете сгенерировать код c из matlab via this. И позвоните из своей основной функции.

+0

Спасибо, но я хочу преобразовать функцию 'cf2tform', которая не может быть передана' matlab coder'. – Fire

+0

Я не знаю, что это за метод и не смог найти его в Интернете. Но я действительно сомневаюсь, что вы можете вызывать любой файл .m из C++. В качестве альтернативы, я бы искал аналогичные функции в OpenCV. Например, http://docs.opencv.org/2.4/modules/imgproc/doc/geometric_transformations.html?highlight=warpaffine может содержать аналогичную функцию «imtransform». – smttsp

+0

Ты так хорош, спасибо еще раз. Но мне нужно использовать «преобразование подобия» в Matlab, подробно, преобразовать одно изображение с 5 точками (точки src) в другое изображение шаблона (точки dst), причем этот метод не является простым «аффинным преобразованием» в opencv. И еще одна путаница в том, что 'оценкаRigidTransform' (opencv api) не может принимать 5-точечное преобразование, но иногда не может произвести' transform matrix' (T_mat = 0). – Fire