首页 新闻 搜索 专区 学院

关于matlab和C#混合编程的matlab函数使用问题?(求大神赐教)

0
悬赏园豆:100 [已关闭问题] 关闭于 2013-09-06 19:49

问题:譬如这样一段matlab函数:绘制图像直方图:

i='lenna.jpg';
I1=imread(i);
I1=rgb2gray(I1);
I=double(I1);
[m,n]=size(I);
H=zeros(1,256);
for i=1:m
for j=1:n
H(I(i,j)+1)=H(I(i,j)+1)+1; %计算每级态度出现的概率
end
end
figure,imshow(I1);
figure,plot(H);
title(' 原图像直方图 ');
xlabel(' 灰度等级' );
ylabel( '象素个数 ');

那么我在C#中使用:

string filepath = "";
//确认选择
if (ofdSelectPicture.ShowDialog() == DialogResult.OK)
{
filepath = ofdSelectPicture.FileName;
}

这段代码可以获得打开图像的路径,我如何调用这段matlab函数去显示我在C#中打开的图像处理之后的直方图呢?最好附注具体代码。

(附注:关于如何使用matlab去deploytool编译.net托管DLL文件,大神可以不再去赘述,您的帮助是我的荣幸)

Mr.Ni的主页 Mr.Ni | 初学一级 | 园豆:109
提问于:2013-07-23 13:37
< >
分享
所有回答(2)
0

装了Mt后来没用,这个东西太淡腾

SOUTHER | 园豆:825 (小虾三级) | 2013-07-28 22:05
0
附代码:
function zhifangtu(path)
I1=imread(path);
I1=rgb2gray(I1);
I=double(I1);
[m,n]=size(I);
H=zeros(1,256);
for i=1:m 
for j=1:n 
H(I(i,j)+1)=H(I(i,j)+1)+1; %计算每级态度出现的概率
end
end
figure,imshow(I1);
figure,plot(H);
title(' 原图像直方图 ');
xlabel(' 灰度等级' );
ylabel( '象素个数 ');
***注:必须是函数文件***
 
 
using DrawZ;
using MathWorks.MATLAB.NET.Arrays;
using MathWorks.MATLAB.NET.Utility;
 
VS:
 private void button1_Click(object sender, EventArgs e)
        {
            String path = @"D:\Program Files\MATLAB\Mproject\lenna.jpg";
            DrawZ.DrawZH dw=new DrawZH();
            dw.zhifangtu(path);
        }
Mr.Ni | 园豆:109 (初学一级) | 2013-09-06 19:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册