How can I convert 1D array into 2D array ?

Hi, I have 512x512 image size and I want to convert the pixel to 1D matric. How can I convert from 2D into 1D without changing the pixel value? I use this command,
input=reshape(x2.',1,[])
but the pixel value is changing. Please help me

 Accepted Answer

You should avoid naming a variable input, as that is the name of a key MATLAB function to request input from the user.

reshape() can never change the pixel values. The particular way you use reshape would result in the pixel values being listed across rows first, all of first row, then all of second row, and so on.

3 Comments

may I know what is the purpose of putting .' after x2? because the resulted pixel seems to change compared to x2 by itself
Without the .' operator, the order of the pixels in the vector would be going down the columns, all of column 1 then all of column 2 and so on.

Sign in to comment.

More Answers (0)

Categories

Find more on Convert Image Type in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!