Heatmap image convert to data. Percentage of black to white.
Show older comments
Hi,
Im having some issue to find a tutorial which i can change the heatmap from my analysis to percentage. For the image convertion to black and white image, there a lot of tutorial but to anaylze the heapmap i couldnt find any. Im new to this matlab.
Original image.

Need to convert to black and white image as below

Then calculate the percentage of the ratio between black/white region. This is to analyze to heatmap.
thanks.
2 Comments
Benoit Espinola
on 17 Jun 2020
How do you load your image? What is the format in Matlab?
muhammad afiq
on 17 Jun 2020
Answers (2)
Ameer Hamza
on 17 Jun 2020
rgb2gray() seems to work
img = im2double(imread('image.png'));
img_gray = rgb2gray(img);
imshow(img_gray)

However, the correct solution depends on the values of color in the heatmap. Do you have such mapping?
2 Comments
muhammad afiq
on 17 Jun 2020
Edited: muhammad afiq
on 17 Jun 2020
Ameer Hamza
on 17 Jun 2020
Do you only have data as an image, or do you also have data in numeric format?
Benoit Espinola
on 17 Jun 2020
Edited: Benoit Espinola
on 17 Jun 2020
You can calculate the lightness (=brightness) of each pixel in your image.
Assuming your RGB values are between 0 and 1 (which is the default in Matlab).
you can do:
L = (max(R,G,B)-min(R,G,B))/2;
Then you can use that for your gray.
R = L;
G=L;
B=L;
And finally, you should plot it in your figure.
About the ratio between "black" and "white" regions. Depends on how you define the threashold.
Ratio = sum(L(L>0.5))/numel(L); % gives you the ratio between 0 and 1.
You can change your threashold to something sensible, though 0.5 (= 50% white) seems like a sensible value.
Categories
Find more on Images 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!