C#.NET を使用して UI を実装し、MATLAB で開発した画像処理手順を使用しています。したがって、これら 2 つのプロセスを 1 つのシステムとして使用するには、MATLAB を C#.NET に統合する方法を知る必要があります.....
2 に答える
C#/.NET 内からユーザー定義の matlab 関数を呼び出す方法:
ここで一度詳しく説明しました。この統合方法では、matlab 関数を C#/.NET で参照できる dll アセンブリにコンパイルするために、matlabの展開ツールが必要になります。
要約すると、これらの手順は次のとおりです。
1) matlab 関数 (m ファイル) を記述して保存します。これらの関数は C#/.NET から呼び出します
2) matlab で展開ツール(deploytool) を開き、すべての matlab m ファイルをパッケージに追加します。たとえば、MyMatlabFunctions.prjという名前を付けます。
3) MyMatlabClassのような名前でパッケージをデプロイするクラスを追加します。このクラスには、matlab 関数の .NET 変換 (またはコンパイル) が含まれます。
4) deploytool を使用してパッケージMyMatlabFunctions.prjをビルドします。生成されたMyMatlabFunctions.dllは、Visual Studio プロジェクトで参照されます。
5) matlab 関連の参照 (dll) のMatCode.dllとMWarray.dllを Visual Studio プロジェクトに追加します。
6) matlab 関数の dll 変換を呼び出す C#/.NET メソッドを記述します。以下の簡単な例: 行列の加算 (addMatrices.m)
static public void SimpleMatrixAddition()
{
double[,] a = { { 2, 3 }, { 5, 6 }, { 8, 9 } }; //Matrix 1
double[,] b = { { 1, 2}, { 4, 5}, { 7, 8} }; //Matrix 2
MWNumericArray arr1 = a;
MWNumericArray arr2 = b;
MyMatClass obj = new MyMatClass();
// call matlab function (addMatrices.m)
MWArray result = (MWNumericArray)obj.addMatrices((MWArray)arr1, (MWArray)arr2);
// display matlab matrix
Console.WriteLine("matlab matrix:\n" + result);
Console.ReadKey();
}