典型的谷歌搜索无果,因此我向你们聪明的大脑求助: 我如何将我正在编写的C#类中的变量传递给Matlab(我通过“NET.addAssembly”函数与之进行交互)?
我在我的C#代码中是否应该引用某个.dll文件?如果是,它在哪里? 有没有一些文档和例子,教我如何从C#传递变量到Matlab? 我如何将C#本地变量转换为Matlab数组?
谢谢。
这不是一件轻松的事,但你能做到。
首先,你需要使用C#编译一个*.DLL库。 你需要创建一个c# COM互操作类并使用公有和私有函数。- 如何将Microsoft.Kinect.dll添加到COM互操作C#类
然后,你需要:
-以管理员身份运行CMD
-打开C:\windows\Microsoft.NET\Framework\v4.0(或类似)文件夹
-在CMD窗口中cd路径目录
-将NAME_OF_YOUR_CLASS.cs复制到该文件夹中
-复制并粘贴csc /t:library NAME_OF_YOUR_CLASS.cs
-复制并粘贴regasm NAME_OF_YOUR_CLASS.dll /tlb /codebase
-打开Matlab并使用net.Framework访问可用的函数
在MATLAB中,你需要:
net = actxserver('ImageCreationMatlab.ImageCreationMatlabClass'); val = net.depthKinectTwo(filename,'kdpt',0,0,1);
这只是一个关于其他问题DLL的示例。
我会尝试找到有关创建类的链接/教程。