Azzera filtri
Azzera filtri

How to shuffle an image diagonally?

1 visualizzazione (ultimi 30 giorni)
Sneha P S
Sneha P S il 11 Apr 2018
Risposto: Jan il 11 Apr 2018
I need to shuffle an image of size 256x256x3 along diagonally. That is the pixel value of upper left corner must come at the lower right corner and all the pixels at the corresponding position in the other half. Please help me with that code

Risposta accettata

Guillaume
Guillaume il 11 Apr 2018
Sounds like a 180 rotation, so:
rot90(yourimage, 2)

Più risposte (1)

Jan
Jan il 11 Apr 2018
This can be either a rotation or a mirroring. A rotation works either by rot90 (see Guillaume's answer), or by:
s = size(img)
img2 = img(s(1):-1:1, s(2):-1:1, :);
The mirroring needs just an additional transposition of the first two dimensions:
img2 = permute(img(s(1):-1:1, s(2):-1:1, :), [2,1,3]);

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by