Importing pixel array in Excel and creating an image

Hello everyone,
A MATLAB beginner here. I would like to ask a quick question. I believe this is simple for a lot of you folks. I have an image in the form of pixel array in Excel sheet. I wish to create an image from this and also be able to set a certain threshold so that the numerical values of any pixels that do not meet the threshold become zero.
I really really appreciate everyone's help in advance!

2 Comments

can you post your excel file?
Sorry for the lack of detail in my original question. Please see attached. It is a 128 x 100 matrix.

Sign in to comment.

 Accepted Answer

Try this:
data = importdata('AuL_1.csv', ',', 5);
grayImage = data.data;
subplot(2, 2, 1);
imshow(imadjust(grayImage), []);
subplot(2, 2, 2);
histogram(grayImage);
grid on;
threshold = 4;
mask = grayImage < threshold;
% Erase mask pixels.
grayImage(mask) = 0;
subplot(2, 2, 3);
imshow(imadjust(grayImage), []);

4 Comments

This is exactly what I needed! Thank you!
Actually one more thing... Is it possible to assign a color of different shades to the white pixels depending on its intensity value? e.g. brighter yellow to pixels that originally had value of 4, a darker shade to 5, an even darker shade to 6, and so on.
Thank you so much in advance!
Yes, just use ind2rgb() to create an RGB image. Or you can keep it grayscale and just use colormap() to change the way it's displayed.
Got it. Thank you again!

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2017b

Community Treasure Hunt

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

Start Hunting!