Getting pixel values from an image

6 views (last 30 days)
Hello, I am new to Matlab and I have a question concerning getting pixel values of an image. I have a 994x994 image and want to get every pixel value in the row 497. Could you please advise what command(s) I should use? Thank you very much.
I have loaded the image in Matlab with Imtool command and there is a pixel region window in which it shows all the pixel values I need. I am wondering if I could export them in an excel file? Thanks again.
Regards

Accepted Answer

Thorsten
Thorsten on 22 Jul 2016
Edited: Thorsten on 22 Jul 2016
If your image is stored in I, like from the command
I = imread('peppers.png');
the Matlab syntax to select the element in row 497, column 1 would be
x = I(497,1);
and the syntax to select all elements uses the column operator : as a shorthand for 1:end
x = I(497, :);
  3 Comments
Thorsten
Thorsten on 22 Jul 2016
I've updated my response.
Gannian Zhang
Gannian Zhang on 24 Jul 2016
Hi Thanks so much for the explanation. I have finally solved this problem. :-)

Sign in to comment.

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 22 Jul 2016
You can use imread to import your image like this
Im=imread('YourImage.tif') % for example
row497=Im(497,:,:)
You can export your image to an excel file
xlswrite('file.xlsx',Im)
  4 Comments
Gannian Zhang
Gannian Zhang on 24 Jul 2016
Hi, thanks for your reply.
The original image was a coloured one which had three channels showing different pixel values. I wanted to convert it into a grey image first before analysis.
Could you please let me know how to do that? And how can I export data from i=1 to i=997 please? Regards.
Gannian Zhang
Gannian Zhang on 24 Jul 2016
Hi Thank you for your help. I have finally solved the problem.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!