B&W Image to Excel File with 0 and 1

6 views (last 30 days)
Hello, I want to take a B&W image and convert it to an excel file with 0 and 1. Essentially it will put the image into excel labeling all black areas as a 1 and all white areas as a 0 making the image in excel. I am not sure how'd I go about doing that.

Accepted Answer

Walter Roberson
Walter Roberson on 10 Sep 2021
Edited: Walter Roberson on 10 Sep 2021
YourImage = imread('TheFileNameGoesHere.jpg');
if ndims(YourImage) > 2; YourImage = rgb2gray(YourImage); end
BW = imbinarize(YourImage);
writematrix(double(BW), 'NameOfExcelFileGoesHere.xlsx')

Sign in to comment.

More Answers (1)

Dyuman Joshi
Dyuman Joshi on 10 Sep 2021
Edited: Dyuman Joshi on 10 Sep 2021
1) Use imread to read the image. The values in the uint8 (default format) array will be from 0 to 255.
2) Divide the array by 255 to get values from 0 to 1.
3) The matrix will be 3D matrix, which you won't be able to convert to a excel file. Either you can reshape the matrix to a 2D matrix and then write or you can write three files/sheets as you wish (Sheets).
Dyuman Joshi
Dyuman Joshi on 10 Sep 2021
I was going to make that distinction in the answer initially, but I did not and linked the imread webpage (where the specifics related to this are mentioned) hoping that if OP might comment/ask again, I can reply with the reference.
Due to the 2nd point you mentioned, I presumed that the matrix will (most probably) be a 3D matrix. However, your answer here is more fitting in the general sense (as always).

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!