24小时热门版块排行榜    

Znn3bq.jpeg
查看: 524  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 297,工科调剂? +3 河南农业大学-能 2026-04-14 3/150 2026-04-15 22:02 by noqvsozv
[考研] 药学求调剂 +11 RussHu 2026-04-12 13/650 2026-04-15 19:07 by zhuwenxu
[考研] 22专硕求调剂 +9 haoyun上岸 2026-04-11 11/550 2026-04-15 14:47 by elainzaizai
[考研] 0854调剂 +13 长弓傲 2026-04-12 16/800 2026-04-15 13:45 by fenglj492
[考研] 调剂求收留 +34 果然有我 2026-04-10 35/1750 2026-04-15 13:05 by 西北望—风沙
[考研] 279求调剂 +12 张番茄不炒蛋 2026-04-11 12/600 2026-04-14 15:38 by zs92450
[考研] 求调剂 +20 MAX怅惘 2026-04-09 22/1100 2026-04-14 14:57 by 独醉梦孤城
[考研] 297求调剂 +23 ORCHID1 2026-04-10 26/1300 2026-04-14 13:52 by 陈皮皮
[考研] 人工智能320调剂08工类还有机会吗 +18 振—TZ 2026-04-10 19/950 2026-04-14 10:34 by screening
[考研] 085600材料与化工329分求调剂 +24 叶zilin 2026-04-13 25/1250 2026-04-14 09:20 by 试管破裂
[考研] 0856专硕求调剂 希望是a区院校 +24 好好休息好不好 2026-04-09 27/1350 2026-04-13 22:22 by pies112
[考研] 一志愿双非085400电子信息344 求调剂,对材料和化学方向也感兴趣 +12 无情的小羊 2026-04-09 13/650 2026-04-13 14:17 by 张zhihao
[考研] 材料考研调剂 +29 云木达达 2026-04-11 31/1550 2026-04-13 13:32 by lyh鲁老师
[考研] 一志愿华工085600 331分 +7 天下ww 2026-04-09 7/350 2026-04-13 09:01 by lhj2009
[考研] 086003调剂求助 +21 苏弋万 2026-04-09 22/1100 2026-04-11 20:25 by dongdian1
[考研] 22408 352分求调剂0854类 +4 努力的夏末 2026-04-09 4/200 2026-04-11 09:57 by zhq0425
[考研] 284求调剂 +12 archer.. 2026-04-10 13/650 2026-04-11 08:44 by zhq0425
[考研] 化学工程与技术324调剂 +23 孙常华 2026-04-09 25/1250 2026-04-11 00:07 by 骑牛渡寒江
[考研] 298求调剂 +13 钉叮咚冬瓜 2026-04-09 13/650 2026-04-10 15:49 by jiajinhpu
[考研] 0860004 求调剂 309分 +6 Yin DY 2026-04-09 6/300 2026-04-09 10:19 by 啊李999
信息提示
请填处理意见