how to normalized a hsv histogram?
Mostrar comentarios más antiguos
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 comentarios
Jan
el 11 de Jul. de 2013
What exactly does not work? Do you get an error message or do the results differ from your expectations?
R
el 11 de Jul. de 2013
R
el 11 de Jul. de 2013
Jan
el 11 de Jul. de 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.
Respuestas (1)
Jan
el 11 de Jul. de 2013
0 votos
What exactly should be normalized? The area under each curve or all 3 curves?
9 comentarios
R
el 11 de Jul. de 2013
R
el 11 de Jul. de 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
el 11 de Jul. de 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
el 11 de Jul. de 2013
Jan
el 11 de Jul. de 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
el 11 de Jul. de 2013
R
el 11 de Jul. de 2013
Categorías
Más información sobre Histograms en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!