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

2 views (last 30 days)
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

Accepted Answer

bym
bym on 18 Sep 2011
im = imread('pout.tif');
[counts ,x]=imhist(im);
counts(x > 200)

More Answers (1)

HongTu Nguyen
HongTu Nguyen on 19 Sep 2011
@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 Comments
HongTu Nguyen
HongTu Nguyen on 21 Sep 2011
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.
Image Analyst
Image Analyst on 21 Sep 2011
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);

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!