首页 > 解决方案 > 如何将几块图像组合成一张图像?

问题描述

我已将图像划分为 32x32 块。现在我想组合这些块来恢复原始图像。如何使用 matlab 做到这一点?

这是我用来将图像分成块的代码:

C=imread('lena.jpg');
C = rgb2gray(C);
C=imread('D1.gif')
x2=im2double(x1);

    [m,n,k]=size(x2) % and m=n with 1 channel k=1
    ImageSize=m*n;
    BlockD=32; 
    BlockSize=BlockD*BlockD;
    NoOfBlock=ImageSize/BlockSize;
    SubB=zeros(BlockD,BlockD,NoOfBlock); %arrays of blocks.
    X=zeros(BlockD,BlockD,NoOfBlock);
%    important to convert uint8 to double when dialing with image. 
%     thats what ru asking for.
    k=1;
    for i=1:BlockD:m
      for j=1:BlockD:n
        x(:,:,k)=x2(i:i+BlockD-1,j:j+BlockD-1);
        k=k+1;

      end
    end

标签: imagematlabimage-processing

解决方案


推荐阅读