image matrix to a row vector

1 view (last 30 days)
vaishali
vaishali on 20 Nov 2014
Edited: vaishali on 21 Nov 2014
Hello..
I Want to convert an image matrix of size m*n into blocks of row-vectors of 16 byte elements. Using which command I can do this?
Thanks

Answers (1)

Mark
Mark on 20 Nov 2014
Edited: Mark on 20 Nov 2014
Could you please clarify your question? What do you mean by '16 byte elements'? How do you want to split up you data?
If you have an array consisting of doubles, a '16-byte element' is two entries (a double is 8 bytes). So you could reshape your array to have two columns:
imageMatrix = rand( m, n );
reshapedImageMatrix = reshape( imageMatrix, prod(size(imageMatrix))/2, 2 );
Of course, in this example, m*n should be even.
Mark
  1 Comment
vaishali
vaishali on 21 Nov 2014
Edited: vaishali on 21 Nov 2014
For Eg.. I have an colour image 512*512*3 of unit8 type. I want to encrypt that image in such a way that I should split that image into blocks of row vectors containing 16 elements in it. Each element is a byte of pixel value.so in a row vector totally 16 elements of each one byte means 16 bytes(128bits).then each block I need to encrypt and then finally combine..so which commands I can use to achieve this?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!