3-d plot
2 views (last 30 days)
Show older comments
I have two matrixes: I is a grayscale image and BW is the binary image. for the regions that have area>50 in BW, I want to calculate the mean value of the those regions in I. I then want to show these mean values for each region as bar plot on the grayscale. Any suggestion?
I used the following code to show the mean value of each region on the image but dont know how to show them as bar.
% create a synthetic image
I = propsSynthesizeImage;
%a create binary image
BW = I >0;
%find the centroid of each region
s = regionprops(BW, I, {'Centroid'});
imshow(I)
title('Weighted (red) and Unweighted (blue) Centroid Locations');
hold on
numObj = numel(s);
%plot the centeroid of each region on the image
for k = 1 : numObj
plot(s(k).Centroid(1), s(k).Centroid(2), 'bo');
end
hold off
s = regionprops(BW, I, {'Centroid', 'PixelValues', 'BoundingBox'});
imshow(I);
title('Standard Deviation of Regions');
hold on
%calculate the mean value of each region and plot them on the image
for k = 1 : numObj
s(k).Mean= mean(double(s(k).PixelValues));
text(s(k).Centroid(1),s(k).Centroid(2), ...
sprintf('%2.1f', s(k).Mean), ...
'EdgeColor','b','Color','r');
end
hold off
2 Comments
Walter Roberson
on 17 Dec 2011
http://www.mathworks.com/matlabcentral/answers/13205-tutorial-how-to-format-your-question-with-markup
Answers (0)
See Also
Categories
Find more on Image Processing Toolbox 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!