MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

# Copy pixels from one Matrix to other matrix

Asked by M@lik Ali on 26 Jul 2012

Hi all I have an image of size 256x384x3 then i divide the image into 4x4 blocks as

```bs=4;
alp=0;
ca = mat2cell(rgbImage,bs*ones(1,size(rgbImage,1)/bs),bs*ones(1,size(rgbImage,2)/bs),3;
plotIndex = 1;
after that i generate a zero matrix of the image size and divide into blocks as
a=zeros(size(rgbImage));
aa = mat2cell(a,bs*ones(1,size(a,1)/bs),bs*ones(1,size(a,2)/bs),3);
plotIndex = 1;
```

Now What i want is to copy the few block from original image to the block of matrix a

I tried this

```aa{37,88}=ca{37,88}
```

but fail. after copy blocks i want to reconstruct the a matrix. please help me how i can copy the selected block of original image into the block of the new matrix and then reconstruct the a which was my zero matrix

or if there is an other way that how i can copy the block of the original image into zero image.

## Products

No products are associated with this question.

Answer by Andrei Bobrov on 26 Jul 2012
Edited by Andrei Bobrov on 26 Jul 2012

EDIT (block with size 64x64)

```rgbImage = imread('861.jpg');
bs=64;
ca = mat2cell(rgbImage,bs*ones(1,size(rgbImage,1)/bs),bs*ones(1,size(rgbImage,2)/bs),3);
plotIndex = 1;
a=zeros(size(rgbImage),class(rgbImage));
aa = mat2cell(a,bs*ones(1,size(a,1)/bs),bs*ones(1,size(a,2)/bs),3);
aa(2,3)=ca(2,3);
amtx = cell2mat(aa);
imshow(amtx)
```

M@lik Ali on 26 Jul 2012