How to shuffle an image diagonally?

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

 Accepted Answer

Sounds like a 180 rotation, so:
rot90(yourimage, 2)

More Answers (1)

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]);

Tags

Asked:

on 11 Apr 2018

Answered:

Jan
on 11 Apr 2018

Community Treasure Hunt

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

Start Hunting!