MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

how can i save every pixel of image as a row of new matrix?

i have an image in lab space i want to save the value of l,a, b of every pixel as a row of new matrix for example if i have 2*3 matrix i want to make 6*3 matrix that every row of this matrix show the pixel and every column of every row is the value of l,a and b channel is there any way to do this without using for loop i want to do this very fast? thanks in advance

Image Analyst on 27 Oct 2012

I'm having a hard time visualizing. Can you provide an example. Because an lab image is a 3 dimensional image not a 2D (2*3) image, at least it is if you're starting with a 2D color image, so I don't know what the 2*3 refers to. Do you mean 2 rows by 3 columns by 3 color channels? And then I don't know what "show the pixel" means. I also don't know what show "every column of every row is the value of l,a and b channel" means. Do you mean that you want to just have all the values listed like this in a numerical array

```row1  column1 lValue1 aValue1 bValue1
row1  column2 lValue2 aValue2 bValue2
etc.
```

Products

No products are associated with this question.

Answer by Matt J on 27 Oct 2012
Edited by Matt J on 27 Oct 2012
` result = reshape(Image,[],3);`

1 Comment

nadia naji on 27 Oct 2012

thanks for your answer before i separate different channel and then use etc target(:,1)=l(:), target(:,2)=a(:),target(:,3)=b(:) but in this war i dont need do this thanks a lot