% 清理屏幕,清理变量,关闭所有窗口
clc; clear; close all
A = imread('rose.jpg');
imshow(A)
m=zeros(5,1);
n=zeros(5,1);
[m(1),n(1),k]=size(A);
for i=2:5
m(i)=ceil(m(i-1)/2); %向上取整
n(i)=ceil(n(i-1)/2);
end
B = zeros(m(1),n(1)*5+40,3)+255;
B = uint8(B);
B(:,1:n(1),:) = A;
%源程序错误,直觉告诉我对比B的写法,将C = zeros(m,sum(n(1:5))+40,3)+255;中的m换为m(1)
C = zeros(m(1),sum(n(1:5))+40,3)+255;
C = uint8(C);
C(1:m(1),1:n(1),:)=A;
for i = 2:5
TempA = A(1:2^(i-1):end,1:2^(i-1):end,:);
B1 = imresize(TempA,2^(i-1));
B1(m(1)+1:end,:,:)=[];
B1(:,n(1)+1:end,:)=[];
B(:,(n(1)+10)*(i-1)+1:(i-1)*10+n(1)*i,:)=B1;
C(1:m(i),10*(i-1)+1+sum(n(1:i-1)):10*(i-1)+sum(n(1:i)),:)=TempA;
end
figure,imshow(B)
axis off
figure,imshow(C)
axis off