繁体   English   中英

在C ++中传递用于调用Matlab函数的参数

[英]passing parameter for calling a matlab function in c++

使用部署工具,我制作了c ++共享库。 我的Matlab函数仅获得一个输入参数即图像的路径,并以双精度返回1 * 6向量。

我在网上进行了大量搜索,找到了在C ++中调用Matlab函数的步骤; 现在我知道,首先我必须初始化应用程序和库,如下所示:

#include <libname.h>
mclInitializeApplication();
mclInitializeApplication();

我知道最后我必须调用函数来终止:

<libname>Terminate();
mclTerminateApplication();

但是我不知道如何将字符串传递给matlab函数。 我这样写:

string path = "C:\\Users\\user\\Documents\\MATLAB\\Mypic.jpg";
mwArray im_path;

在调用im_path.SetData()我不知道必须使用哪种类型。 第一个参数的类型,不包括与字符串相关的任何类型。 另外,我也不知道如何调用Matlab函数以及必须将哪些参数传递给该函数。

如果您之前打过电话,请帮助我。

非常感谢!

要将string作为输入参数传递给Matlab,您可以简单地使用:

mwArray im_path(path.c_str());

并且您还需要先初始化该函数,然后再终止它。 假设您的函数类似于function res = func(path)并被部署到func.lib ,则需要:

funcInitialize()
...
mwArray res(1, 1,  mxDOUBLE_CLASS); // suppose the result is a double
func(1, res, im_path);              // call it here
...
funcTerminate();

查看此帖子以获取更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM