PIE SDK与Matlab结合说明文档

 

1.功能简介

    Matlab是三大数学软件之一,它在数学类科技应用软件中在数值计算方面数一数二。Matlab能够进行矩阵运算、绘制函数和数据、实现算法、建立用户界面、链接其余编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通信、图像处理、信号检测、金融建模设计与分析等领域。本示例程序实现了PIESDK调用Matlab函数功能(peaks函数),从而使PIE SDK能够与Matlab紧密结合。算法

2. 功能实现说明

2.1. Matlab自定义函数

       Matlab自定义函数是一个*.m脚本文件,文件内容以function [返回值]=[函数名]([参数1,参数2])开始,且一般将文件名和函数名保持一致。编程

2.2. 实现思路及原理说明

       Matlab提供了deploytools工具能够将matlab函数编译为.Net可用的DLL,从而方便.Net程序直接引用(运行须要安装MCRInstaller)。编译过程参考:数组

https://blog.csdn.net/zuo_csdn/article/details/53518963.编程语言

本示例采用Matlab 2014a 和 Matlab 2014a MCRInstaller(MCR8.3),单独运行示例程序需安装Matlab 2014a MCRInstaller(MCR8.3),请肯定版本是否正确编辑器

       编译过程须要注意:ide

   ①  若出现mcc错误,缘由是matlab未破解彻底,须要将破解文件把install.jar以及相应位数的三个文件(compiler.dll,mcc.exe,libmwservices.dll)复制到对应位置替换函数

   ②  注意.Net版本以及32位64位,这与Matlab/MCRInstaller有关系。工具

   ③  .Net项目生成位数必定与Matlab编译的库位数相同ui

第一步spa

在Command Window窗口中输入mbuild –setup查看编译器,将编辑器设置为vs

第二步

安装MCRinstaller.exe,在matlab安装目录下toolbox\compiler\deploy\win64

第三步

注册mwcomutil.dll,在\bin\win64中

第四步

编写.m文件并调试经过

第五步

在Command Window窗口中输入deploytool。将.M编译生成dll,在弹出的deploytool窗口中:

1)      选择Library Compiler

2)      在Application type 项中选择 .NET Assembly

3)      在Exported Functions中点击+号,添加.M文件

4)      在下方填写DLL的类名和包含的方法名称

5)      右上角点击Package

第六步

将生成的DLL复制到.Net程序目录下并添加引用

第七步

若是使用了数组,须要将MWArray.Dll也引用上并复制到程序输出目录下

第八步

调用DLL中的方法

 

2.3.  核心接口与方法

接口/类

方法

说明

 

 

 

 

2.4. 示例代码

项目路径

百度云盘地址下/PIE示例程序/14.SDK拓展开发/ 02PIESDK与Matlab结合/ BlendWithMatlab

数据路径

百度云盘地址下/PIE示例数据/栅格数据/

视频路径

百度云盘地址下/PIE视频教程/14.SDK拓展开发/ 02PIESDK与Matlab结合.avi

示例代码

 1         /// <summary>
 2         /// Matlab
 3         /// </summary>
 4         /// <param name="sender"></param>
 5         /// <param name="e"></param>       
 6         public FormMatlabTest ()
 7         {
 8             InitializeComponent();
 9             //运行须要安装MCRInstaller
10             DonetTest.TestClass testClass = new TestClass();
11             //调用matlab函数,返回值result为图像数组
12             MWArray result = testClass.DonetTestFunc();
13         }
View Code

2.5 示例截图

相关文章
相关标签/搜索