服务器之家

服务器之家 > 正文

WPF调用Matlab函数的方法

时间:2021-12-09 13:40     来源/作者:眾尋

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

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

想要用wpf调用matlab代码,就用到了matlab生成.dll文件的功能。

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

首先,生成matlab的.dll文件

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

WPF调用Matlab函数的方法

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

WPF调用Matlab函数的方法

在matlab窗口右侧会出现一个对话框,点击add class增加一个class,名字自己填写,然后点击add files,选择需要的生成dll的matlab函数文件。

WPF调用Matlab函数的方法WPF调用Matlab函数的方法

WPF调用Matlab函数的方法

WPF调用Matlab函数的方法

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

WPF调用Matlab函数的方法

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

在wpf程序下进行引用,浏览,找到mwarray.dll,我的路径是“d:\program files\matlab\r2012a\toolbox\dotnetbuilder\bin\win32\v2.0”,这个也就是前面会根据不同人安装的matlab路径不一样而不一样,后面基本是一样的,同时引用distrib文件夹下的jlfg.dll文件。

WPF调用Matlab函数的方法

在wpf的代码中进行引用

?
1
2
3
using mathworks.matlab.net.arrays;
using mathworks.matlab.net.utility;
using jlfg;

写实现部分代码

?
1
2
3
4
string propath = selpath();
jlfg.iorig iorig = new iorig();
iorig.i_orig(propath);
imgpro.source = bitimg("c:\\i_orig.jpg");

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

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

最终的实现效果

WPF调用Matlab函数的方法

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

WPF调用Matlab函数的方法

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

原文链接:http://www.cnblogs.com/ZXdeveloper/p/3949470.html

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部