Generate a Sequence in MATLAB
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
I have a 2d NxN image L. I need to convert it to a sequence of pixels L1={k1,k2,....kNxN} row wise
0 comentarios
Respuesta aceptada
Walter Roberson
el 31 de En. de 2012
L1 = reshape(L.',1,[]).'
7 comentarios
Walter Roberson
el 4 de Feb. de 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.
Más respuestas (1)
Derek O'Connor
el 31 de En. de 2012
L1 = L(:)'
2 comentarios
Walter Roberson
el 31 de En. de 2012
That would not take the sequence "row-wise"; it would take them column-wise.
Ver también
Categorías
Más información sobre Matrices and Arrays en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!