Skip to contents

autothreshold computes the threshold for binarizing an image using an automated method.

Usage

autothreshold(image, method = "ImageJ", mask = NULL)

Arguments

image

An an 8-bit (8U) or 32-bit floating (32F) Image object.

method

The name of the automated thresholding algorithm to use. It can be any of the following:

"none":

the user-defined `threshold` value is used (the default).

"ImageJ":

the default auto thresholding algorithm of ImageJ.

"Huang":

Huang’s fuzzy thresholding method.

"Huang2":

alternative implementation of Huang’s method by J. Schindelin.

"Intermodes":

assuming a bimodal histogram, the threshold is the halfway point between the two modes.

"IsoData":

iterative procedure based on the isodata algorithm of Ridler and Calvar.

"Li":

Li’s Minimum Cross Entropy thresholding method based on the iterative version of the algorithm.

"MaxEntropy":

Kapur-Sahoo-Wong (Maximum Entropy) thresholding method.

"Mean":

the mean of grey levels of the image is used as the threshold.

"MinErrorI":

an iterative implementation of Kittler and Illingworth’s Minimum Error thresholding.

"Minimum":

similar to the Intermodes method but the threshold is the minimum value between the two modes after iterative smoothing.

"Moments":

Tsai’s moment-preserving thresolding method.

"Otsu":

Otsu’s threshold clustering method.

"Percentile":

assumes the fraction of foreground pixels to be 0.5.

"RenyiEntropy":

similar to the MaxEntropy method, but using Renyi’s entropy instead.

"Shanbhag":

Shanbhag's information-based thresolding method.

"Triangle":

the triangle thresholding method by Zack, Rogers, and Latt.

"Yen":

Yen’s thresholding method.

Details about the functioning of each method can be found at https://imagej.net/plugins/auto-threshold.

mask

A single-channel (GRAY) 8-bit (8U) Image object with the same dimensions as image. This can be used to mask out pixels that should not be considered when calculating the threshold (pixels set to 0 in the mask will be ignored during the threshold calculation).

Value

A numerical value.

Acknowledgements

Gabriel Landini coded all of these functions in Java. These java functions were then translated to C++ by Rory Nolan.

References

  • Huang, L-K & Wang, M-J J (1995), "Image thresholding by minimizing the measure of fuzziness", Pattern Recognition 28(1): 41-51

  • Prewitt, JMS & Mendelsohn, ML (1966), "The analysis of cell images", Annals of the New York Academy of Sciences 128: 1035-1053

  • Ridler, TW & Calvard, S (1978), "Picture thresholding using an iterative selection method", IEEE Transactions on Systems, Man and Cybernetics 8: 630-632

  • Li, CH & Lee, CK (1993), "Minimum Cross Entropy Thresholding", Pattern Recognition 26(4): 617-625

  • Li, CH & Tam, PKS (1998), "An Iterative Algorithm for Minimum Cross Entropy Thresholding", Pattern Recognition Letters 18(8): 771-776

  • Sezgin, M & Sankur, B (2004), "Survey over Image Thresholding Techniques and Quantitative Performance Evaluation", Journal of Electronic Imaging 13(1): 146-165

  • Kapur, JN; Sahoo, PK & Wong, ACK (1985), "A New Method for Gray-Level Picture Thresholding Using the Entropy of the Histogram", Graphical Models and Image Processing 29(3): 273-285

  • Glasbey, CA (1993), "An analysis of histogram-based thresholding algorithms", CVGIP: Graphical Models and Image Processing 55: 532-537

  • Kittler, J & Illingworth, J (1986), "Minimum error thresholding", Pattern Recognition 19: 41-47

  • Prewitt, JMS & Mendelsohn, ML (1966), "The analysis of cell images", Annals of the New York Academy of Sciences 128: 1035-1053

  • Tsai, W (1985), "Moment-preserving thresholding: a new approach", Computer Vision, Graphics, and Image Processing 29: 377-393

  • Otsu, N (1979), "A threshold selection method from gray-level histograms", IEEE Trans. Sys., Man., Cyber. 9: 62-66, doi:10.1109/TSMC.1979.4310076

  • Doyle, W (1962), "Operation useful for similarity-invariant pattern recognition", Journal of the Association for Computing Machinery 9: 259-267, doi:10.1145/321119.321123

  • Kapur, JN; Sahoo, PK & Wong, ACK (1985), "A New Method for Gray-Level Picture Thresholding Using the Entropy of the Histogram", Graphical Models and Image Processing 29(3): 273-285

  • Shanbhag, Abhijit G. (1994), "Utilization of information measure as a means of image thresholding", Graph. Models Image Process. (Academic Press, Inc.) 56 (5): 414–419, ISSN 1049-9652

  • Zack GW, Rogers WE, Latt SA (1977), "Automatic measurement of sister chromatid exchange frequency", J. Histochem. Cytochem. 25 (7): 74153, PMID 70454

  • Yen JC, Chang FJ, Chang S (1995), "A New Criterion for Automatic Multilevel Thresholding", IEEE Trans. on Image Processing 4 (3): 370-378, ISSN 1057-7149, doi:10.1109/83.366472

  • Sezgin, M & Sankur, B (2004), "Survey over Image Thresholding Techniques and Quantitative Performance Evaluation", Journal of Electronic Imaging 13(1): 146-165

See also

Author

Simon Garnier, garnier@njit.edu

Examples

balloon <- image(system.file("sample_img/balloon1.png", package = "Rvision"))
balloon_gray <- changeColorSpace(balloon, "GRAY")
th <- autothreshold(balloon_gray)