如何将几个图像块合并为一个图像?

时间:2019-05-03 10:40:26

标签: image matlab image-processing

我已将图像划分为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

0 个答案:

没有答案