how to permute matrix here?

2 次查看(过去 30 天)
Tia
Tia 2013-3-31
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

回答(1 个)

Image Analyst
Image Analyst 2013-3-31
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 个评论
Tia
Tia 2013-3-31
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 2013-3-31
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;

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Get Started with Image Processing Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by