Matlab进行图片分块,按比例放大或缩小,然后将放大或缩小的图合并为原图。

%处理图像(CSDN 关注MATLAB码农)
clc;clear all;
I=imread('C:\Users\Administrator\Desktop\MATLAB程序\图片缩小合并\功夫熊猫.jpeg');
[x,y,h]=size(I);

figure(1)
imshow(I);
title('原图');

% 分成m*n块,想改分块数,改动下面的数字即可
m=2;
n=2;
p=fix(x/m);
q=fix(y/n);


count=1;
figure(2)
title('分割后的图')
for i=1:m
    for j=1:n
      block=I((p*(i-1))+1:p*i,(q*(j-1))+1:(q*j),:); 
      subplot(m,n,count)
      imshow(block);
      count=count+1;
    end
end
;

figure(3)
title('分割后的图压缩s倍');
s=2;                  % 改动s即可改动分割后图片的缩放倍数      
a1=fix(p/s);
a2=fix(q/s);
I2=zeros(m*a1,n*a2,h);
count1=1;
A=I(1:a1,1:a2,1:h);


for i=1:m
    for j=1:n
      block=I((p*(i-1))+1:p*i,(q*(j-1))+1:(q*j),:); 
      block1=imresize(block,[a1,a2]);
      [x1,y1,h1]=size(block1);
      A=[A block1];
      subplot(m,n,count1)
      imshow(block1);
      count1=count1+1;
    end
end

你可能感兴趣的:(图像处理,matlab)