MATLAB Answers

After obtaining the pixel values of an image..how to store those pixel values in an array?

28 views (last 30 days)
Kamali M on 18 Dec 2018
Answered: Saipraveen on 30 Sep 2019
After obtaining the pixel values of an image..how to store those pixel values in an array?

4 Comments

Show 1 older comment
Kamali M on 18 Dec 2018
clc;
close all;
my_image =imread('football.jpg');
figure,imshow(my_image);title('Orginal Image In Colour');
my_image=rgb2gray(my_image);
figure,imshow(my_image);title('Orginal Image In Gray scale');
% my_image = imresize(my_image,[512 512]); if you want to fix image size as constant
[rows,columns,depth]=size(my_image); % Here row and columns of particular image are fetched
for R=1:rows
for C=1:columns
pixel=my_image(R,C);
disp (R)
end
end
Kamali M on 18 Dec 2018
If this isnt correct please say that method also along with how to load them in an array?
thanks in advance.
Guillaume on 18 Dec 2018
Kamali, you have to explain better what it is you want to do. As commented you already have the pixels in an array. It's the my_image array

Sign in to comment.

Accepted Answer

madhan ravi on 18 Dec 2018
pixel = cell(1,rows);
ctr = 1;
for R=1:rows
for C=1:columns
pixel{ctr}=my_image(R,C);
disp (R)
end
ctr = ctr+1;
end
celldisp(pixel)
[pixel{:}] % double array

6 Comments

Show 3 older comments
madhan ravi on 18 Dec 2018
Thank you Guillaume , you are completely right , just noticed after answering the my_image was already stored.
Kamali M on 18 Dec 2018
ACTUALLY my input is a 256X320 but i get only a single row with 256 elements in it.
my_image =imread('football.jpg');
my_image=rgb2gray(my_image);
[rows,columns,depth]=size(my_image);
pixel = cell(1,rows);
ctr = 1;
for R=1:rows
for C=1:columns
pixel{ctr}=my_image(R,C);
end
ctr = ctr+1;
end
celldisp(pixel)
disp ([pixel{:}]); % double array
what are the necessary changes in it?
thanks in advance.
madhan ravi on 18 Dec 2018
@kamali see sir Walter's answer this is not the correct approach as mentioned by the peers.

Sign in to comment.

More Answers (3)

Walter Roberson on 18 Dec 2018
The pixel values are already stored in my_image and do not need to be stored again .

0 Comments

Sign in to comment.

Kamali M on 18 Dec 2018
@madhan sir, please tell me what should i change i dont get it..
thank u sir.

1 Comment

Walter Roberson on 18 Dec 2018
What data type do you need as output? What array size do you need as output? What difference do you intend between "pixel values" that you want stored, compared to what is already in my_array ?

Sign in to comment.

Saipraveen on 30 Sep 2019
For the information of other users, In this file exchange - https://www.mathworks.com/matlabcentral/fileexchange/72535-image-to-c-c-array-converter, I have written a script to generate an array from an image. I convert the input image to monochrome and store the pixel values in hex format in a different file. It could be modified to suit your needs.
Hope that helps.

0 Comments

Sign in to comment.

Translated by