how to divide a picture into 25 pieces and display in one figure randomly?

Hello everyone,
I'm willing to divide a picture into 25 pieces 5X5 and display them in one figure randomly, any suggestions ?
thanks ,
Dimitri

 Akzeptierte Antwort

One way:
img=imread('test.jpg'); %read the image
cimg=mat2cell(img(1:5*fix(end/5),1:5*fix(end/5),:),fix(size(img,1)/5)*ones(5,1),fix(size(img,2)/5)*ones(1,5),3); %divide it into 5x5 parts - if one dimension is not multiple of 5, the remaining elements will be cleared!
scimg=reshape(cimg(randperm(25)),5,5); %shuffle the pieces
simg=cell2mat(scimg); %put them back to an image
figure, imshow(img), figure, imshow(simg) %display both the ordered and the mixed image

Weitere Antworten (0)

Kategorien

Gefragt:

am 13 Mär. 2015

Bearbeitet:

am 13 Mär. 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by