Why is the horizontal axis 0 to 1 in a histogram for a rgb image?
1 view (last 30 days)
Show older comments
for my code I am trying to determine intensitiy of the connect components and plot histograms:
for k = 1:numZones
...
zoneMask = zoneMask .* im2double(edgesClean) .* DD;
% Calculate connected components in this zone
cc = bwconncomp(zoneMask);
% Calculate region properties for each connected component in this zone
statscc = regionprops(cc, 'Area', 'Centroid', 'Eccentricity', 'Perimeter', 'MajorAxisLength', 'MinorAxisLength', 'Circularity', 'MaxFeretProperties', 'MinFeretProperties');
% Calculate features for this zone
numObjects = cc.NumObjects;
if numObjects > 0
profileCounts(k) = numObjects;
end
% Create a histogram of the intensities
figure;
imhist(intensities);
grid on;
But sometimes the values on x axis are strange (i.e. not 0 to 256 for a rgb image I have) why is this? is my code errousnous? please help me to fix so that i have accurately determined histogram of connected components intensity.
0 Comments
Accepted Answer
Image Analyst
on 25 May 2023
Please attach one of your images and code to read it in. Evidently your image got converted to floating point. And there is no reason that your image should span the full dynamic range unless you forced it to or it was naturally like that for some reason. Usually images don't span the full dynamic range.
6 Comments
Image Analyst
on 25 May 2023
I don't know. I just always use regionprops because it's so much easier and it lets you get lots of other measurements at the same time. You can compare your two intensity arrays just as well as I can.
More Answers (0)
See Also
Categories
Find more on Histograms 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!