how to permute matrix here?

2 views (last 30 days)
Tia
Tia on 31 Mar 2013
Hi.. I have an image 128x128pixels. then it is divided into 8x8 block. so that we get 16 subblocks. each 8x8 block, i would like to permute position(1,1) of matrix 8x8 from one subblock to another subblock with same position (1,1). do you know how to solve this problem? i don't know about permutation here. Thank you

Answers (1)

Image Analyst
Image Analyst on 31 Mar 2013
I don't even know what that means. Can you explain better and give an example? Can you also explain why you want to do this?
Otherwise, the only thing I can suggest is to get the row and column of each pixel in each block that you wish to swap and do the usual swap code:
savedPixelValue = grayImage(row1, column1);
grayImage(row1, column1) = grayImage(row2, column2);
grayImage(row2, column2) = savedPixelValue;
  4 Comments
Tia
Tia on 31 Mar 2013
b is an array 3x3 from m. then,it become 4subblocks
b1=[ 1 2 3 b2=[4 5 6
1 2 3 4 5 6
1 2 3] 4 5 6]
b3=[1 2 3 b4=[4 5 6
1 2 3 4 5 6
1 2 3] 4 5 6]
it's a 2D array
Image Analyst
Image Analyst on 31 Mar 2013
So why can't you adapt my code as follows:
row1 = 1;
column1 = 1;
savedPixelValue = b1(row1, column1);
b1(row1, column1) = b2(row2, column2);
b2(row2, column2) = savedPixelValue;

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!