How to calculate the mean and standard deviation of a ROI(Region of interest) excluding the black background
12 次查看(过去 30 天)
显示 更早的评论
I need to calculate numerous color and texture features of a region of interest in an image excluding the black background,the current built in matlab functions like mean2 and std2 for mean and standard deviation respectively won't do it.I also calculated variance,skew,kurtosis and entropy for the entire input image and i want them EXCLUSIVELY for the lesion area not the entire picture,to test my theory i increased the background size in that same exact first image while keeping the lesion size intact and the mean dropped from 16.6398 to 13.6976 for the green grayscale layer.Kindly find 2 images attached one with more black background then the other and again,i only want to calculate the color features of the lesion area.
0 个评论
采纳的回答
Image Analyst
2017-4-24
Use the function on each channel
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
meanR = mean(redChannel(mask));
meanG = mean(greenChannel(mask));
meanB = mean(blueChannel(mask));
stdR = std(redChannel(mask));
stdG = std(greenChannel(mask));
stdB = std(blueChannel(mask));
and so on for skewness, kurtosis, etc.
redChannel(mask) will give a 1-D vector of pixel values that are only inside your mask region. So taking the mean of that 1-D vector will give you the mean of pixels inside the mask.
2 个评论
Image Analyst
2017-4-24
So? Just make it double like it asked for:
stdR = std(double(redChannel(J)));
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!