如何将参数从C#传递给MATLAB?

时间:2009-06-17 03:19:37

标签: c# image matlab

我想将图像文件名作为参数从C#传递给MATLAB。这是我到目前为止所做的:

MATLAB代码

function out = trial(im)
  O = imread(im);
  G = rgb2gray(O);
  imwrite(G,'output','jpeg');
  out = G;

C#代码

private void btn_Browse_Click(object sender, EventArgs e)
{
    openFileDialog1.ShowDialog();
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        pictureBox1.Image = new Bitmap(openFileDialog1.FileName);
    }
}

当我浏览并选择一个图像文件( openFileDialog1.FileName )时,我想将它作为输入参数发送到MATLAB函数。我该怎么做?

1 个答案:

答案 0 :(得分:2)

对于调用Matlab的外部程序,您必须使用Matlab引擎,它是Matlab套件的独立部分。无法创建C#应用程序并让它在Matlab的命令窗口中运行代码。

如何使用Matlab Engine is found here的说明(C和Fortran中给出的示例)。

然后,为了让你的应用程序运行你想要的代码,你可以选择直接在你的click事件中实现它,或者创建一个Method并从click事件中调用这个方法。