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

 採用された回答

bym
bym 2011 年 9 月 18 日

0 投票

im = imread('pout.tif');
[counts ,x]=imhist(im);
counts(x > 200)

その他の回答 (1 件)

HongTu Nguyen
HongTu Nguyen 2011 年 9 月 19 日

0 投票

@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 件のコメント

bym
bym 2011 年 9 月 19 日
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
HongTu Nguyen
HongTu Nguyen 2011 年 9 月 21 日
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 2011 年 9 月 21 日
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