I have an image data, whose histogram , i am calculating through hist command(not imhist) and then i get two parameters: one centroid of the bin, and another is no. of pixels in a bin, i want to calculate height and width of each bin. Pls help

 Akzeptierte Antwort

Wayne King
Wayne King am 28 Feb. 2014
Bearbeitet: Wayne King am 28 Feb. 2014

0 Stimmen

I'm not sure I understand that information is returned by hist()
X = randn(100,1);
[N,bincntr] = hist(X);
Now you know the count in each bin and the bin centers.
To find the boundaries, you can just do
Dx = mean(diff(bincntr));
Now you get the intervals as [bincntr-Dx/2, bincntr+Dx/2]
They are all of width Dx and height equal to the corresponding N

4 Kommentare

Parul
Parul am 28 Feb. 2014
But i am applying hist on image data, not a simple data, take some image and then try to do this.
It does not make any difference - simple data or image data - they're both arrays of numbers and the bin width is just the distance between any of the bin centers. They should all be the same width so you can just do
binWidth = bincntr(2)-bincntr(1);
Wayne King
Wayne King am 28 Feb. 2014
So now bincntr should still be a vector, but N will be a matrix with each column the output of binning each column of the data matrix.
If you look across the rows of the matrix, N, you see the division among the bin centers given by the vector bincntr.
Parul
Parul am 3 Mär. 2014
I hv uploaded the pic, please go through the link given below. http://tinypic.com/r/2871y0j/8
and from its hist u will get to know, which height, width of the bin i am talking about..

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Gefragt:

am 28 Feb. 2014

Kommentiert:

am 3 Mär. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by