how to normalized a hsv histogram?
Show older comments
i want to normalize hsv histogram. i have three different of each h,s,and v. i want to normalize them so that i can compare it with h,s and v plot. for this firstly i have to normalize the histogram i tried in following way but it did not work..
rgb = imread('wheatimage.jpg');hsv = rgb2hsv(rgb);
h = hsv(:, :, 1);
v = hsv(:, :, 3);
numberOfBins = 50;
s = hsv(:, :, 2); % or whatever.
[countsH valuesH] = hist(h, numberOfBins);
figure; subplot(2, 2, 1);
bar(valuesH, countsH, 'BarWidth', 1);
title('Histogram of the H Channel', 'FontSize', 15);
[countsS, valuesS] = hist(s, numberOfBins);
subplot(2, 2, 2);
bar(valuesS, countsS, 'BarWidth', 1);
title('Histogram of the S Channel', 'FontSize', 15);
[countsV, valuesV] = hist(v, numberOfBins);
bar(valuesV, countsV, 'BarWidth', 1);
title('Histogram of the V Channel', 'FontSize', 15);%# create histogram from a normal distribution.
g=1/sqrt(2*pi)*exp(-0.5*valuesH.^2);%# pdf of the normal distribution
% DIVIDE BY AREA figure(1)
bar(valuesH,countsH/trapz(valuesH,countsH));hold on
plot(valuesH,g,'r');hold off
4 Comments
Jan
on 11 Jul 2013
What exactly does not work? Do you get an error message or do the results differ from your expectations?
R
on 11 Jul 2013
R
on 11 Jul 2013
Jan
on 11 Jul 2013
What exactly should be "normal" after the normalization? All we see is the code, which does not do what you want. But this does not allow to identify, what you want.
Answers (1)
Jan
on 11 Jul 2013
0 votes
What exactly should be normalized? The area under each curve or all 3 curves?
9 Comments
R
on 11 Jul 2013
R
on 11 Jul 2013
I cannot guess what "not well" and "valid" means in your case. Let me ask another time, what you exactly want: "normalization" can mean, that the maximum value is set to 1.0, or that the area under the fitted Gaussian distribution is set to 1.0, or that the sum of the measured values is set to 1.0, etc. I think if you find out, what you exactly want, the implementation is very easy and most likely you can solve this by your own.
Of course I could try to guess, but this is not why I want the nature of this forum should be. I like to offer assistence for learning how users can find solutions by their own.
Image Analyst
on 11 Jul 2013
And even beyond that, what if you did normalize your histogram, through whatever means and algorithm you choose? What then? Why do you want to normalize it? What do you think you can do that you can't do without it normalized? Saying you want to normalize h so that you can "compare it with h plot" doesn't really make sense. I don't know what's being compared with what.
R
on 11 Jul 2013
Jan
on 11 Jul 2013
@Ramandeep: I have the impression that the communication got more complicated then necessary. So let's try to be as clear as possible: "normalizing a histogram" is not uniquely defined. A mathematically unique definition is required, before this can be implemented in a function. I expect something like: "The sum of XYZ is 1.0".
I do not understand, what a "clear boundary" is.
R
on 11 Jul 2013
R
on 11 Jul 2013
Categories
Find more on Histograms in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!