Generate a Sequence in MATLAB

2 vues (au cours des 30 derniers jours)
LOKESH
LOKESH le 31 Jan 2012
I have a 2d NxN image L. I need to convert it to a sequence of pixels L1={k1,k2,....kNxN} row wise

Réponse acceptée

Walter Roberson
Walter Roberson le 31 Jan 2012
L1 = reshape(L.',1,[]).'
  7 commentaires
LOKESH
LOKESH le 4 Fév 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 le 4 Fév 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?
Anyhow, as your requirements have changed since your initial question, please post your new requirements.

Connectez-vous pour commenter.

Plus de réponses (1)

Derek O'Connor
Derek O'Connor le 31 Jan 2012
  2 commentaires
Walter Roberson
Walter Roberson le 31 Jan 2012
That would not take the sequence "row-wise"; it would take them column-wise.
Derek O'Connor
Derek O'Connor le 31 Jan 2012
Sorry, I hadn't noticed the "row-wise".

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by