how to normalized a hsv histogram?
Afficher commentaires plus anciens
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 commentaires
Jan
le 11 Juil 2013
What exactly does not work? Do you get an error message or do the results differ from your expectations?
R
le 11 Juil 2013
R
le 11 Juil 2013
Jan
le 11 Juil 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.
Réponses (1)
Jan
le 11 Juil 2013
0 votes
What exactly should be normalized? The area under each curve or all 3 curves?
9 commentaires
R
le 11 Juil 2013
R
le 11 Juil 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
le 11 Juil 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
le 11 Juil 2013
Jan
le 11 Juil 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
le 11 Juil 2013
R
le 11 Juil 2013
Catégories
En savoir plus sur Histograms dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!