- 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
In Otsu's method we exhaustively search for the threshold that minimizes the intra-class variance, defined as a weighted sum of variances of the two classes:
Weights ωi are the probabilities of the two classes separated by a threshold t 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 ωi and class means μi.
The class probability ω1(t) is computed from the histogram as t:
while the class mean μ1(t) is:
where x(i) is the value at the center of the ith histogram bin. Similarly, you can compute ω2(t) and μt on the right-hand side of the histogram for bins greater than t.
The class probabilities and class means can be computed iteratively. This idea yields an effective algorithm.
Algorithm
- Compute histogram and probabilities of each intensity level
- Set up initial ωi(0) and μi(0)
- Step through all possible thresholds maximum intensity
- Update ωi and μi
- Compute
- Desired threshold corresponds to the maximum
References
- ^ M. Sezgin and B. Sankur (2003). "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
- 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.
Categories:
Wikimedia Foundation. 2010.