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?

Antworten (1)

Matt J
Matt J am 26 Sep. 2019
Bearbeitet: Matt J am 26 Sep. 2019

0 Stimmen

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)

Gefragt:

am 25 Sep. 2019

Bearbeitet:

am 26 Sep. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by