how can i find the three peak points of the histogram..

i can find 1st peak point, then how can i find the 2nd and 3rd peak of the histogram?

回答(3 个)

doc findpeaks
if you have the Signal Processing Toolbox.
Although you don't say which histogram you are referring to.
If you don't have the Signal Processing toolbox you can search for find peaks or similar on Matlab Exchange for code that will do the same.

9 个评论

i have a grayscale image's histogram and i m able to find the 1st peak point. now i have to find the 2nd and 3rd peak...
We know - you said that already. Please read this.
Incidentally, how do you find the first peak?
by writing this:
[pixelCounts, grayLevels] = imhist(b);
[maxCount, indexOfMax] = max(pixelCounts);
grayLevelAtMax = grayLevels(indexOfMax);
fprintf('max=%d',grayLevelAtMax);
That gives you the largest peak, not necessarily the first peak
that code which i posted is only giving me the largest peak.. but i want to know how to find the three peaks of the histogram... and i also wants the same for the lowest point.. plz help its very important for me.
Did you try his original suggestion of using findpeaks()? Why not?
actually i didn't getting how to apply that findpeaks()function.. if u provide me the right example or syntax then i will try..
The help page for findpeaks gives something like 7 or 8 examples. I haven't memorised the syntax so you might as well look at the examples yourself rather than me spend time doing it just to repeat them for you here!

请先登录,再进行评论。

sort the data in descending order & take first three values

3 个评论

how can i sort the values of the histogram?? sry i don't know this as i m new to matlab.. plz help by giving by some example.
That won't give you peaks. Quite likely it will give you the largest peak and the two values either side of it.
that code what i posted is only giving me the largest peak.. but i want to know how to find the three peaks of the histogram... and i also wants the same for the lowest point.. plz help its very important for me.

请先登录,再进行评论。

you can save your histogram as a variable and then use the file (peak finder in matlab exchange file)

7 个评论

can u give an example for that?
first have you finded the file in matlab files exchange
actually i m using the matlab version 2010. in that they are not showing any thing... plz help as i m new to matlab.. and need this function badly..
and how can i find the three minimum points of the same histogram.???
I think it is easy , you need to read a little :-)
You can use findpeaks() like Adam already told you, but you just have to invert your signal so that valleys now become peaks.
upsidedownSignal = max(signal) - signal;
theValleys = findpeaks(upsidedownSignal);
In the future, you can make this a lot faster and more effective if you attach your data so people have something to work with. See this link

请先登录,再进行评论。

提问:

2015-1-12

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by