| 查看: 494 | 回复: 0 | ||
[求助]
Matlab可以把生成的数据导入excel,VC调用Matlab引擎却不可以,为什么
|
|
程序如下: void CMyDlg::OnHuiDuGongSheng() { // TODO: Add your command handler code here engEvalString(ep,"Gray=imread('121.bmp');"); engEvalString(ep,"[M,N,O] = size(Gray);"); engEvalString(ep,"M = 128;"); engEvalString(ep,"N = 128;"); //为了减少计算量,对原始图像灰度级压缩,将Gray量化成16级 engEvalString(ep,"for i = 1:M;\ for j = 1:N;\ for n = 1:256/16;\ if (n-1)*16<=Gray(i,j)&&Gray(i,j)<=(n-1)*16+15;\ Gray(i,j) = n-1;\ end;\ end;\ end;\ end;"); //计算四个共生矩阵P,取距离为1,角度分别为0,45,90,135 engEvalString(ep,"P = zeros(16,16,4);"); engEvalString(ep,"for m = 1:16;\ for n = 1:16;\ for i = 1:M;\ for j = 1:N;\ if j<N&&Gray(i,j)==m-1&&Gray(i,j+1)==n-1;\ P(m,n,1) = P(m,n,1)+1;\ P(n,m,1) = P(m,n,1);\ end;\ if i>1&&j<N&&Gray(i,j)==m-1&&Gray(i-1,j+1)==n-1;\ P(m,n,2) = P(m,n,2)+1;\ P(n,m,2) = P(m,n,2);\ end;\ if i<M&&Gray(i,j)==m-1&&Gray(i+1,j)==n-1;\ P(m,n,3) = P(m,n,3)+1;\ P(n,m,3) = P(m,n,3);\ end;\ if i<M&&j<N&&Gray(i,j)==m-1&&Gray(i+1,j+1)==n-1;\ P(m,n,4) = P(m,n,4)+1;\ P(n,m,4) = P(m,n,4);\ end;\ end;\ end;\ if m==n;\ P(m,n,:) = P(m,n,:)*2;\ end;\ end;\ end;"); //对共生矩阵归一化 engEvalString(ep,"for n = 1:4;\ P(:,:,n) = P(:,:,n)/sum(sum(P(:,:,n)));\ end;"); //对共生矩阵计算能量、熵、惯性矩、相关4个纹理参数 engEvalString(ep,"H = zeros(1,4);"); engEvalString(ep,"I = H;"); engEvalString(ep,"Ux = H;"); engEvalString(ep,"Uy = H;"); engEvalString(ep,"deltaX= H;"); engEvalString(ep,"deltaY = H;"); engEvalString(ep,"C =H;"); engEvalString(ep,"for n = 1:4;\ E(n) = sum(sum(P(:,:,n).^2));\ for i = 1:16;\ for j = 1:16;\ if P(i,j,n)~=0;\ H(n) = -P(i,j,n)*log(P(i,j,n))+H(n);\ end;\ I(n) = (i-j)^2*P(i,j,n)+I(n);\ Ux(n) = i*P(i,j,n)+Ux(n);\ Uy(n) = j*P(i,j,n)+Uy(n);\ end;\ end;\ end;"); engEvalString(ep,"for n = 1:4;\ for i = 1:16;\ for j = 1:16;\ deltaX(n) = (i-Ux(n))^2*P(i,j,n)+deltaX(n);\ deltaY(n) = (j-Uy(n))^2*P(i,j,n)+deltaY(n);\ C(n) = i*j*P(i,j,n)+C(n);\ end;\ end;\ C(n) = (C(n)-Ux(n)*Uy(n))/deltaX(n)/deltaY(n);\ end;"); //求能量、熵、惯性矩、相关的均值和标准差作为最终8维纹理特征 engEvalString(ep,"T(1) = mean(E);"); engEvalString(ep,"T(2) = mean(H);"); engEvalString(ep,"T(3) = mean(I);"); engEvalString(ep,"T(4) = mean(C);"); // engEvalString(ep,"fprintf('%f,%f,%f,%f',T(1),T(2),T(3),T(4));"); engEvalString(ep,"xlswrite('testdata.xls', [T(1) T(2) T(3) T(4)], 'B2:H2');"); |
» 猜你喜欢
2026年机械制造与材料应用国际会议 (ICMMMA 2026)
已经有4人回复
磺酰氟产物,毕不了业了!
已经有6人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有9人回复
Cas 72-43-5需要30g,定制合成,能接单的留言
已经有8人回复
北京211副教授,35岁,想重新出发,去国外做博后,怎么样?
已经有8人回复
论文终于录用啦!满足毕业条件了
已经有25人回复
自荐读博
已经有3人回复
不自信的我
已经有5人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复

找到一些相关的精华帖子,希望有用哦~
matlab计算结果和excel完全不一样
已经有5人回复
数据如何到matlab的workspace中?
已经有42人回复
excel数据如何以向量形式导入matlab
已经有5人回复
Matlab批量处理EXCEL数据并画图
已经有9人回复
matlab循环语句怎么读取excel第二列并存入新excel
已经有6人回复
求助:用matlab的xlsread命令导入excel文件遇到困难
已经有3人回复
关于matlab数据如何导出到excel
已经有15人回复
Matlab数据如何连续写入Excel?
已经有5人回复
matlab如何生成不同的随机数
已经有9人回复
RGB2YCbCr中,分别调用opencv函数和matlab函数得出的结果不一样!!!!
已经有33人回复
这种图表matlab可以画,excel可以画不?
已经有7人回复
怎么样设置matlab在excel中的输出位置
已经有10人回复
matlab中如何把数据保存成.txt格式?
已经有8人回复
matlab导出数据
已经有10人回复
matlab中M文件的调用
已经有12人回复
MATLAB 数据导入
已经有13人回复
【求助】matlab保存的数据mat,打开的时候怎么用excel打开?
已经有4人回复
【求助】MATLAB导入数据精度问题。。。
已经有4人回复
【求助】VC++.NET/VC++ 调用EXCEL文件显示数据再控件上【已解决】
已经有13人回复
【讨论】如何编写将图形数据导入MATLAB软件的程序和步骤?
已经有10人回复
MATLAB中如何导入mat文件?如何查看此mat文件
已经有4人回复
科研从小木虫开始,人人为我,我为人人












回复此楼
点击这里搜索更多相关资源