how to permute matrix here?

5 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.

Categories

Find more on Data Converters in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!