WPF调用Matlab函数的方法

 更新时间:2020年09月17日 10:05:41   作者:眾尋  
这篇文章主要为大家详细介绍了WPF调用Matlab函数的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

有的时候用C#写图像处理方法,比较费事,不如Matlab简单,但是Matlab又做不出WPF那样的好看界面,怎么办呢。

今天正好我要实现这个功能,就顺便写个小例子,给需要的人做个借鉴。

想要用WPF调用Matlab代码,就用到了Matlab生成.DLL文件的功能。

注:我的VS版本是2013,Matlab版本是2012a,两个软件不算新也不算老,应该是现在普遍用的版本

首先,生成Matlab的.DLL文件

在matlab的左下角选择start-matlab-NE-deploytool,或者直接在command界面输入deploytool。

在弹出的对话框里,输入你需要输入的内容,可以默认,也可以手动填入,Type选项一定要选择.NET Assembly选项。

在Matlab窗口右侧会出现一个对话框,点击Add Class增加一个Class,名字自己填写,然后点击Add Files,选择需要的生成DLL的Matlab函数文件。

然后点击Build按钮,等待进度条走完

当进度条走完以后,在刚才的目录下会生成一个以name命名的文件夹,此文件夹下会有两个文件夹,分别是distrib和src。

在WPF程序下进行引用,浏览,找到MWArray.dll,我的路径是“D:\Program Files\MATLAB\R2012a\toolbox\dotnetbuilder\bin\win32\v2.0”,这个也就是前面会根据不同人安装的Matlab路径不一样而不一样,后面基本是一样的,同时引用distrib文件夹下的JLFG.dll文件。

在WPF的代码中进行引用

using MathWorks.MATLAB.NET.Arrays;
using MathWorks.MATLAB.NET.Utility;
using JLFG;

写实现部分代码

string proPath = selPath();
JLFG.Iorig iorig = new Iorig();
iorig.I_orig(proPath);
ImgPro.Source = BitImg("C:\\I_orig.jpg");

中间的两行代码为调用实现部分,第一行代码是获取图片的路径,最后一行是展示图像用的。

因为Matlab输出是直接用Figure输出,因此需要imwrite进行保存,因此才有了最后一句的调用图像路径。

最终的实现效果

但是,有一个问题出现了,就是我实现的过程用的是Win7 32位的的系统,没有问题,用Win8.1 64位系统就不好使,虽然更换了MWArray.dll的路径为64位的路径,依然不好使,出现如下错误,有知道如何解决这个问题的大神,请告知方法,在此谢谢了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C# 使用Proxy代理请求资源的方法步骤

    C# 使用Proxy代理请求资源的方法步骤

    这篇文章主要介绍了C# 使用Proxy代理请求资源的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • C#各种正则表达式验证方法整理大全

    C#各种正则表达式验证方法整理大全

    许多编程语言和工具都包含对正则表达式的支持,C#也不例外,这篇文章主要给大家介绍了关于C#各种正则表达式验证方法整理大全的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • C#中IList 与 List 的区别小结

    C#中IList 与 List 的区别小结

    IList 接口和 List 类是 C# 中用于集合操作的两个重要的类型,本文主要介绍了C#中IList 与 List 的区别小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • C# 延迟Task.Delay()和Thread.Sleep()的具体使用

    C# 延迟Task.Delay()和Thread.Sleep()的具体使用

    Thread.Sleep()是同步延迟,Task.Delay()是异步延迟,本文主要介绍了C# 延迟Task.Delay()和Thread.Sleep()的具体使用,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-01-01
  • c#实现隐藏与显示任务栏的方法详解

    c#实现隐藏与显示任务栏的方法详解

    本篇文章是对c#中任务栏隐藏与显示的实现方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • Unity实现刮奖效果

    Unity实现刮奖效果

    这篇文章主要为大家详细介绍了Unity实现刮奖效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • C#实现DataTable,List和Json转换的方法

    C#实现DataTable,List和Json转换的方法

    这篇文章主要介绍了C#实现DataTable,List和Json转换的方法,结合实例形式分析了DataTable、list、DataReader、DataSet等转换成JSON的相关实现技巧,需要的朋友可以参考下
    2016-08-08
  • C# 格式化JSON的两种实现方式

    C# 格式化JSON的两种实现方式

    本文主要介绍了C# 格式化JSON的两种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • DevExpress设置饼状图的Lable位置实例

    DevExpress设置饼状图的Lable位置实例

    这篇文章主要介绍了DevExpress设置饼状图的Lable位置的方法,以实例形式详细讲述了设置饼状图的Lable位置具体实现过程,需要的朋友可以参考下
    2014-10-10
  • C# 透明窗体制作实现方法比较分析

    C# 透明窗体制作实现方法比较分析

    制作透明窗体办法有好几种,各有优缺点.我们先来看看C#本身提供的办法:通过设置窗体的 TransparencyKey实现,需要的朋友可以了解下
    2012-12-12

最新评论