How to calculate the mean and standard deviation of a ROI(Region of interest) excluding the black background
13 ビュー (過去 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!