24小时热门版块排行榜    

Znn3bq.jpeg
查看: 525  |  回复: 0

eeds136

金虫 (著名写手)

[求助] 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');");
回复此楼

» 猜你喜欢

一切都似那么神奇。。。。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 eeds136 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 273求调剂 +6 白居不易. 2026-04-09 8/400 2026-04-15 22:02 by wooluyong
[考研] 通信工程求调剂!!! +6 zlb770521 2026-04-14 6/300 2026-04-15 20:00 by 学员JpLReM
[考研] 材料299专硕求调剂 +17 +21 2026-04-09 17/850 2026-04-15 17:20 by zs92450
[考研] 291求调剂 +7 关忆北. 2026-04-14 7/350 2026-04-15 14:39 by 黑科技花岗岩
[考研] 297工科调剂? +14 河南农业大学-能 2026-04-13 15/750 2026-04-15 13:25 by 黑科技矿业
[考研] 305求调剂 +8 玛卡巴卡boom 2026-04-11 8/400 2026-04-14 09:04 by pengliang8036
[考研] 考研英一数一338分 +9 长江大学东校区 2026-04-13 10/500 2026-04-14 00:41 by 王珺璞
[考研] 求调剂 +12 璃茉一定上岸 2026-04-10 13/650 2026-04-14 00:08 by Equinoxhua
[考研] 一志愿华南理工大学331分材料求调剂 +10 天下ww 2026-04-09 11/550 2026-04-13 23:25 by pies112
[考研] 一志愿双非085400电子信息344 求调剂,对材料和化学方向也感兴趣 +12 无情的小羊 2026-04-09 13/650 2026-04-13 14:17 by 张zhihao
[硕博家园] 新一代电子信息294求调剂 不挑学校 +7 Ytyt11 2026-04-09 8/400 2026-04-12 16:57 by ajpv风雷
[考研] 0831生医工第一轮调剂失败求助 +12 小熊睿睿_s 2026-04-11 16/800 2026-04-12 16:28 by 钰璞
[考研] 326求调剂 +6 Shansyn 2026-04-10 6/300 2026-04-12 09:46 by hammer3
[考研] 一志愿西北工业大学289 085602 +33 yang婷 2026-04-10 34/1700 2026-04-12 08:11 by Art1977
[考研] 调剂 +10 只叙离别辞 2026-04-09 12/600 2026-04-11 20:57 by 逆水乘风
[考研] 本人女孩 +7 吼吼, 2026-04-10 9/450 2026-04-11 14:45 by ACS Nano——
[考研] 求调剂 +6 archer.. 2026-04-09 8/400 2026-04-11 10:55 by zhq0425
[考研] 工科273调剂 +6 X1999 2026-04-09 7/350 2026-04-11 10:23 by zhq0425
[考研] 调剂 化学 307 +21 73372112 2026-04-09 23/1150 2026-04-10 23:53 by wj165256
[考研] 265求调剂 +12 风说她早忘了 2026-04-10 13/650 2026-04-10 18:56 by chemisry
信息提示
请填处理意见