Adaptive Thresholding
Adaptive thresholding is an image segmentation algorithm that appears quite resistent to varying lighting conditions.
This recent paper attempts to summarize and compare various image thresholding algorithms/techniques.
Contents
Global Value Adaptive Thresholding
(useful for barrel-in-sunlight detection)
Below are various algorithms for auto-thresholding, that is, the process by which a threshold value on a histogram of a grayscale image is chosen automatically so as to fall in between the "foreground mound" and the "background mound" of the histogram. Once this threshold value is chosen, the "foreground" and "background" components of an image can be distinguished by comparing pixel values to the chosen threshold value.
Otsu Thresholding
A somewhat technical overview of the Otsu algorithm can be found in section 2 of this paper. The same paper additionally proposes a modified version of the Otsu algorithm in section 3 that it asserts is less computationally expensive than the traditional Otsu algorithm. -class variance with an exhaustive search." -
Another paper's take on Otsu thresholding: -based global threshold algorithm. It proposed a criterion for maximising the variance of the between--consuming for image binarisation because of its inefficient formulation of the between-class variance, and the performance varies with image types.
Ah ha! I've located the citation for Otsu's original paper:
Links
- Sample Image Filter
- Original Source Code
- Cleaned up Source Code by David
I've been trying to analyze the source code of this image filter (not written by me) in order to figure out how the Otsu Thresholding algorithm works. I've had limited success, in that I have completely figured out how GrayLevelClass.java works. However I have not been able to decode OtsuThresholding.java which appears to contain the essential details specific to the Otsu algorithm. --David 21:14, 7 Nov 2005 (EST)
After several hours of work, I've finally decoded the Otsu algorithm! Not only that - I have written my own implementation of the algorithm which seems to produce good results when given sample images. To the right is a histogram augmented with a vertical red line indicating the thresholding level selected by the Otsu algorithm. In the near future I will incorporate the Otsu algorithm into the next ImageFilterDemo distribution. --David 16:01, 8 Nov 2005 (EST)
Maximum Entropy Thresholding
Links
Once again, I've tried to analyze the source code of this image filter in order to figure how the algorithm its using works. --David 21:27, 7 Nov 2005 (EST)
Mixture Model Thresholding
Links
Other Thresholding Algorithms
- Binary Clustering
- Metric
- Moment-Preserving Thresholding
- "Moment preserving thresholding is a parametric method which segments the image based on the condition that the thresholded image has the same moments as the original image." - taken from [1]
- Inner-class Variance
- Pun Thresholding
- taken from [2]
Local Value Adaptive Thresholding
(useful for line-on-grass detection)
Other Thresholding Algorithms
- Niblack Thresholding
- Bernsen Thresholding
- Abutaleb Thresholding
- Sauvola Thresholding
Unassessed Thresholding Algorithms
- Lloyd Thresholding
- Ridler-Calvard Thresholding // Iterative Selection Thresholding
- Johannsen Entropy Thresholding
- Yen, Chang Thresholding
- Sahoo, Wilkins, Yeager Thresholding // Renyi's Entropy Thresholding
- Triangle Thresholding
- Kittler-Illingworth Thresholding // Minimum Error Thresholding
- Kapur, Sahoo, Wong Thresholding