I have a 384*256 gray scale image which I partitioned into 24 equal size block. Now from these 24 blocks I want to reconstruct an image which is of same size as of input image but in which sequence of the blocks are different from the original block.

1 view (last 30 days)
I have a 384*256 gray scale image which I partitioned into 24 equal size block. Now from these 24 blocks I want to reconstruct an image which is of same size as of input image but in which sequence of the blocks are different from the original block sequence i.e. for original block sequence are 1,2,3....24 but that sequence will not be same as this.
  2 Comments
Jan
Jan on 22 Mar 2017
Edited: Jan on 22 Mar 2017
Okay. What have you tried and which problems occur? Or in other words: What is the problem?
How are the blocks stored?
sumit kumar
sumit kumar on 22 Mar 2017
i have divided 384*256 image into 24 blocks each of size 64*64 so i have a 3-D array of size 64*64*24 where 24 denotes the block no. My question is I need to reconstruct a new image of size 384*256 in which these 24 blocks positions are shuffled according to a predefined sequence.

Sign in to comment.

Answers (1)

Jan
Jan on 22 Mar 2017
x = rand(64, 64, 24); % Example data
y = x(:, :, randperm(24));
Now the blocks are shuffled. How did you split the image into blocks? The reverse method creates an image again.
  2 Comments
sumit kumar
sumit kumar on 23 Mar 2017
Thanks Jan Simon But it will create matrix y of size same as x but I want the sequence of those blocks according to me. Can you provide me your email-id I can send you my code. It might help you more to understand the problem more clearly.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!