MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
Asked by vyshnavi on 14 Aug 2012

the data hider pseudo-randomly selects Np encrypted pixels that will be used to carry the parameters for data hiding.here,Np is a small positive integer,for example,Np=20.the other(N-Np) encrypted pixels are pseudo randomly permuted and divided into number of groups,each of which contains L pixels.here what is the permutation needed and the code used to divide?

*No products are associated with this question.*

Answer by the cyclist on 14 Aug 2012

Edited by the cyclist on 14 Aug 2012

I thought I understood the title of your post, but I have to admit I did not really understand your question at all. But, maybe this will help a tiny bit. It randomizes the 4,096 blocks of size 8*8 that tile your 512*512 array.

% Pretend data A = rand(512);

% Random linear index to the blocks r = randperm(4096)';

% (i,j) subscripts instead of linear index [i,j] = ind2sub([64 64],r)

% Example of grabbing the 37th randomly found block whichBlock = 37; randomBlock = A(8*(i(whichBlock)-1)+(1:8),8*(j(whichBlock)-1)+(1:8))

Tia on 6 May 2013

Hello Sir, After randomBlock, could you tell me how to show all randomBlock in 512x512array? i followed your codes,and i added loop for example

for whichBlock = 1:64; randomBlock = A(8*(i(whichBlock)-1)+(1:8),8*(j(whichBlock)-1)+(1:8)); end

i want random 64block.then, what should i do?

thank you

## 1 Comment

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/46009#comment_94554

Please review the guide to tags and add tags to this question; see http://www.mathworks.co.uk/matlabcentral/answers/43073-a-guide-to-tags