Otsu's method
In computer vision and image processing, Otsu's method is used to automatically perform histogram shape-based image thresholding,[1] or, the reduction of a graylevel image to a binary image. The algorithm assumes that the image to be thresholded contains two classes of pixels or bi-modal histogram (e.g. foreground and background) then calculates the optimum threshold separating those two classes so that their combined spread (intra-class variance) is minimal.[2] The extension of the original method to multi-level thresholding is referred to as the Multi Otsu method.[3] Otsu's method is named after Nobuyuki Otsu (大津展之 Ōtsu Nobuyuki).
Contents |
Method [edit]
In Otsu's method we exhaustively search for the threshold that minimizes the intra-class variance (the variance within the class), defined as a weighted sum of variances of the two classes:
Weights
are the probabilities of the two classes separated by a threshold
and
variances of these classes.
Otsu shows that minimizing the intra-class variance is the same as maximizing inter-class variance:[2]
which is expressed in terms of class probabilities
and class means
.
The class probability
is computed from the histogram as
:
while the class mean
is:
where
is the value at the center of the
th histogram bin. Similarly, you can compute
and
on the right-hand side of the histogram for bins greater than
.
The class probabilities and class means can be computed iteratively. This idea yields an effective algorithm.
Algorithm [edit]
- Compute histogram and probabilities of each intensity level
- Set up initial
and 
- Step through all possible thresholds
maximum intensity
- Update
and 
- Compute

- Update
- Desired threshold corresponds to the maximum

- You can compute two maxima (and two corresponding thresholds).
is the greater max and
is the greater or equal maximum - Desired threshold =

References [edit]
- ^ M. Sezgin and B. Sankur (2004). "Survey over image thresholding techniques and quantitative performance evaluation". Journal of Electronic Imaging 13 (1): 146–165. doi:10.1117/1.1631315.
- ^ a b Nobuyuki Otsu (1979). "A threshold selection method from gray-level histograms". IEEE Trans. Sys., Man., Cyber. 9 (1): 62–66. doi:10.1109/TSMC.1979.4310076.
- ^ Ping-Sung Liao and Tse-Sheng Chen and Pau-Choo Chung (2001). "A Fast Algorithm for Multilevel Thresholding". J. Inf. Sci. Eng. 17 (5): 713–727.
External links [edit]
- Lecture notes on thresholding - covers the Otsu method.
- A plugin for ImageJ using,/.,/,.?>?, Otsu's method to do the threshold.
- A full explanation of Otsu's method with a worked example and Java implementation.
- Implementation of Otsu's method in ITK
- Otsu Thresholding in C# A straightforward C# implementation with explanation.

![\sigma^2_b(t)=\sigma^2-\sigma^2_w(t)=\omega_1(t)\omega_2(t)\left[\mu_1(t)-\mu_2(t)\right]^2](http://upload.wikimedia.org/math/8/9/4/894892ba54d00a159aaebfb515c6643d.png)

![\mu_1(t)=\left[\Sigma_0^t p(i)\,x(i)\right]/\omega_1](http://upload.wikimedia.org/math/5/8/0/5808e003ae2e65d8b7de35bbf571d18a.png)
and 
maximum intensity

is the greater max and
is the greater or equal maximum