Generate a Sequence in MATLAB

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

 采纳的回答

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

7 个评论

do i need to do .' at the end..
Now, the final .' could be left out.
Urrr, I mean "Yes, the final .' could be left out"
Thanks Walter.Can you brief me about that as i am unable to get its syntax that u have written
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
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,[]);"
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?
Anyhow, as your requirements have changed since your initial question, please post your new requirements.

请先登录,再进行评论。

更多回答(1 个)

L1 = L(:)'

2 个评论

That would not take the sequence "row-wise"; it would take them column-wise.
Sorry, I hadn't noticed the "row-wise".

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by