qq_59835450 2024-05-05 13:33 采纳率: 0%
浏览 6
已结题

matlab代码解决,怎么运行

img

function T = f2(Image)
Gray=rgb2gray(Image);

[M,N] = size(Gray);

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 = zeros(M,N,4);

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

for n = 1:4

P(:,:,n) = P(:,:,n)/sum(sum(P(:,:,n)));

end

H = zeros(1,4);

% % ----------------熵--------------

for n =1:4

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

    end

end

end

% % ---------------------------------------

    T(1)=mean(H);       T(2) = std(H);

end

  • 写回答

25条回答 默认 最新

  • 爱编程的小D 2024-05-05 18:27
    关注
    获得0.15元问题酬金

    你应该定义一个IMAGE变量
    比如说

    Image = imread('文件名.jpg');
    
    

    然后再进行操作

    评论

报告相同问题?

问题事件

  • 系统已结题 5月13日
  • 创建了问题 5月5日

悬赏问题

  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应