How to count the number of extrema of image's histogram

Hi everyone, Please give me some suggest the ways to count the number of extrema of image's histogram. Thank a lot! Nice weekend for all! HongTu

 采纳的回答

更多回答(1 个)

@proecsm: Thanks for your suggestion!
Sorry, my question is not clear. I mean that I want to guess the number of objects in image. Here is my thought:
  • I have a histogram of image: [counts x] = imhist(image);
  • I want to find its all local maxima from counts corresponding with indices from x into array.
-> is there any function for it?
Thanks.

3 个评论

I don't think the histogram is the way to go. Think of it this way: if I have two BW images with 2 objects in them. In one image, the objects are 5 pixels in area; in the other image they are 100 pixels in area. The histogram for the 2 images would be different, yet they each have 2 objects in them. I think you want to look at segmentation. Here is a good place to start:
http://www.mathworks.com/matlabcentral/fileexchange/25157-blobsdemo
Many thanks for your comment.
Yes, I saw blobsdemo. But I just want to guess how many object based on histogram. I'm learning about image segmentation. I use the eigenvectors to partion image, and then use k-means to group similar partions. So, I need to know how many the general objects. Then I choose histogram to guess that. But I don't know how to find local maxima of histogram.
You can't estimate the number of foreground objects in your image from the image's histogram unless you know the areas of the objects in your image. For example if your foreground (objects) are brighter than thresholdValue and the size of the objects is objectArea, then you can estimate the number of objects like this:
numberOfObjects = round(sum(pixelCounts(thresholdValue:end)) / objectArea);

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by