divide an image into blocks

How can I divide an image into a specific number of blocks, stir them and get a new messy image?

Respuestas (1)

Matt J
Matt J el 26 de Sept. de 2019
Editada: Matt J el 26 de Sept. de 2019

0 votos

Using mat2tiles,
it is very easy:
initialImage=imread('sherlock.jpg');
blocksize=[40,40,inf]; %must divide evenly into size(initialImage)
C=mat2tiles(initialImage,blocksize);
C(:)=C(randperm(numel(C)));
messyImage=cell2mat(C);
figure;
subplot(1,2,1);
imshow(initialImage);
subplot(1,2,2)
imshow(messyImage)

Etiquetas

Preguntada:

el 25 de Sept. de 2019

Editada:

el 26 de Sept. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by