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 示例截圖

相關文章
相關標籤/搜索