Heatmap image convert to data. Percentage of black to white.

3 views (last 30 days)
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.

Answers (2)

Ameer Hamza
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
Ameer Hamza
Ameer Hamza on 17 Jun 2020
Do you only have data as an image, or do you also have data in numeric format?

Sign in to comment.


Benoit Espinola
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 Data Distribution Plots 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!