我想把一个二值256*256的矩阵依次四等分,一直分到单个数为止,然后判定每个分块矩阵是否为0矩阵,把非0矩阵的个数统计出来。即第一次分成128*128的矩阵4个,判断这4个矩阵中非0矩阵的个数,并输出。然后往下分成64*64的矩阵16个,并判断这16个矩阵中非0矩阵的个数,并输出。依次到分成1*1*65536.现在我只是会把矩阵分块,不知道如何判定并输出个数。我写的如下,请高手补充,万分感激
for n=1:8
k=256/2^n
for i=1:k:256
for j=1:k:256
b=a(i:i+k-1,j:j+k-1)
end
end
end
a=rand(256); a(65:128,65:128)=0;
for n=1:8, k=256/2^n; no=0;
for i=1:k:256, for j=1:k:256
b=a(i:i+k-1,j:j+k-1);
if length(find(b~=0))>0, no=no+1; end
end; end
disp(no);
end