## Generate a Sequence in MATLAB

on 31 Jan 2012

### Walter Roberson (view profile)

I have a 2d NxN image L. I need to convert it to a sequence of pixels L1={k1,k2,....kNxN} row wise

### Walter Roberson (view profile)

on 31 Jan 2012

L1 = reshape(L.',1,[]).'

Walter Roberson

### Walter Roberson (view profile)

on 1 Feb 2012
Experiment with these steps:
L = magic(5)
t1 = L.'
t2 = t1(:)
t3 = t2.'
And see http://www.mathworks.com/help/techdoc/math/f1-85462.html#f1-85511
LOKESH

### LOKESH (view profile)

on 4 Feb 2012
Thanks Sir.But with L1 = reshape(L.',1,[]),I am able to convert my 1D image to 2D.But it works only for some images,for rest it gives me errors of
"Access Out of Bounds" OR
"??? Error using ==> reshape
Product of known dimensions, 256, not divisible into total number
of elements, 21845.
Error in ==> rk4_CHEN at 198
C2 = reshape(C1.',M,[]);"
Walter Roberson

### Walter Roberson (view profile)

on 4 Feb 2012
You are using M = 256. The only way to reshape in to a 1D row of pixels row-wise is if M = 1.
If you want to convert in to rows, then the number of rows you use, M, must be divide the number of elements in the matrix.
I notice that 21845, the number of elements in the matrix, is 257 x 85. 257 is, of course, one greater than 256. Please check your code for an off-by-one error.
Also, please be careful about whether you use M as the 2nd or 3rd parameter of the reshape(). Do you want M rows and however many columns that works out to, or do you want M columns and however many rows that works out to?

on 31 Jan 2012

L1 = L(:)'

Walter Roberson

### Walter Roberson (view profile)

on 31 Jan 2012
That would not take the sequence "row-wise"; it would take them column-wise.
Derek O'Connor

### Derek O'Connor (view profile)

on 31 Jan 2012
Sorry, I hadn't noticed the "row-wise".