Image Processing Toolbox User's Guide |
Compute global image threshold using Otsu's method
Syntax
Description
computes a global threshold (level = graythresh(I)
level
) that can be used to convert an intensity image to a binary image with im2bw
. level
is a normalized intensity value that lies in the range [0, 1]
.
The graythresh
function uses Otsu's method, which chooses the threshold to minimize the intraclass variance of the black and white pixels.
Multidimensional arrays are converted automatically to 2-D arrays using reshape
. The graythresh
function ignores any nonzero imaginary part of I
.
[level EM] = graythresh(I)
returns the effectiveness metric, EM
, as the second output argument. The effectiveness metric is a value in the range [0 1] that indicates the effectiveness of the thresholding of the input image. The lower bound is attainable only by images having a single gray level, and the upper bound is attainable only by two-valued images.
Class Support
The input image I
can be of class uint8
, uint16
, int16
, single
,or double
and it must be nonsparse. The return value level
is a double scalar. The effectiveness metric EM
is a double scalar.
Example
See Also
Reference
Otsu, N., "A Threshold Selection Method from Gray-Level Histograms," IEEE Transactions on Systems, Man, and Cybernetics, Vol. 9, No. 1, 1979, pp. 62-66.
grayslice | histeq |
© 1994-2005 The MathWorks, Inc.