how to quantify multicolor images ?

2 views (last 30 days)
Hi,
I have to quantify this attached multi-color image. This image (Picture1.png)is an outcome of (Matlab enhanced from Picture4.png) dermascopic image from a broad band light of a microscope. I want to get numbers out of it. Such as what percentage of the signal is red, pink or yellow or green or blue. I basically need free-hand ROI and get Red signal intensity for example). Can you please help me out with this? Thanks Surya

Accepted Answer

Joe Yeh
Joe Yeh on 3 Oct 2016
Here's a solution
img = imread('Picture1.png');
imh = imshow(img);
% Create a mask using freehand ROI
h = imfreehand;
m = createMask(h, imh);
delete(h)
% Extract individual color channels
r = img(:,:,1);
g = img(:,:,2);
b = img(:,:,3);
% Get sum of intensity of each channel
r_s = sum(r(m));
g_s = sum(g(m));
b_s = sum(b(m));
% Calculate percentage of intensity of each color
r_p = r_s / (r_s + g_s + b_s) * 100;
g_p = g_s / (r_s + g_s + b_s) * 100;
b_p = b_s / (r_s + g_s + b_s) * 100;

More Answers (0)

Community Treasure Hunt

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

Start Hunting!