Thresholding (image processing): Difference between revisions

Content deleted Content added
 
(23 intermediate revisions by 18 users not shown)
Line 1:
{{short description|Image segmentation algorithm}}
[[Image:Pavlovsk Railing of bridge Yellow palace Winter.jpg|thumb|250px|Original image.]][[Image:Pavlovsk Railing of bridge Yellow palace Winter bw threshold.jpg|thumb|250px|ExampleThe ofbinary aimage thresholdresulting effectfrom useda onthresholding anof the original image.]]
 
In [[digital image processing]], '''thresholding''' is the simplest method of [[image segmentation|segmenting images]]. From a [[grayscale]] image, thresholding can be used to create [[binary image]]s. <ref>[[#Shapiro2001{{cite book |(last1=Shapiro, et|first1=Linda alG. |last2=Stockman |first2=George C. |title=Computer Vision |date=2001: |publisher=Prentice Hall |isbn=978-0-13-030796-5 |page=83)]] }}</ref>
 
==Definition==
 
The simplest thresholding methods replace each pixel in an image with a black pixel if the image intensity <math>I_{i,j}</math> is less than somea fixed constantvalue Tcalled the (that is,threshold <math>I_{i,j}<T</math>), or a white pixel if the imagepixel intensity is greater than that constantthreshold. In the example image on the right, this results in the dark tree becoming completely black, and the whitebright snow becoming completely white.
 
==CategorizingAutomatic thresholding methods==
 
While in some cases, the threshold <math>T</math> can be selected manually by the user, there are many cases where the user wants the threshold to be automatically set by an algorithm. In those cases, the threshold should be the "best" threshold in the sense that the partition of the pixels above and below the threshold should match as closely as possible the actual partition between the two classes of objects represented by those pixels (e.g., pixels below the threshold should correspond to the background and those above to some objects of interest in the image).
To make thresholding completely automated, it is necessary for the computer to automatically select the threshold T. Sezgin and Sankur (2004) categorize thresholding methods into the following six groups based on the information the algorithm manipulates [[#Sezgin2004|(Sezgin et al., 2004)]]:
 
Many types of automatic thresholding methods exist, the most famous and widely used being [[Otsu's method]]. Sezgin et al 2004 categorized thresholding methods into broad groups based on the information the algorithm manipulates.<ref>{{cite journal |last1=Sankur |first1=Bülent |title=Survey over image thresholding techniques and quantitative performance evaluation |journal=Journal of Electronic Imaging |date=2004 |volume=13 |issue=1 |pages=146 |doi=10.1117/1.1631315 |bibcode=2004JEI....13..146S }}</ref> Note however that such a categorization is necessarily fuzzy as some methods can fall in several categories (for example, Otsu's method can be both considered a histogram-shape and a clustering algorithm)
* '''[[Histogram]] shape'''-based methods, where, for example, the peaks, valleys and curvatures of the smoothed histogram are analyzed
* '''Clustering'''-based methods, where the gray-level samples are clustered in two parts as background and foreground (object), or alternately are modeled as a mixture of two Gaussians
* '''[[Entropy (information theory)|Entropy]]'''-based methods result in algorithms that use the entropy of the foreground and background regions, the cross-entropy between the original and binarized image, etc.<ref>{{cite journal|last1=Zhang|first1=Y.|title=Optimal multi-level Thresholding based on Maximum Tsallis Entropy via an Artificial Bee Colony Approach|journal=Entropy|date=2011|volume=13|issue=4|pages=841–859|doi=10.3390/e13040841|bibcode=2011Entrp..13..841Z|doi-access=free}}</ref>
* '''Object Attribute'''-based methods search a measure of similarity between the gray-level and the binarized images, such as fuzzy shape similarity, edge coincidence, etc.
* '''Spatial''' methods [that] use higher-order probability distribution and/or correlation between pixels
* '''Local''' methods adapt the threshold value on each pixel to the local image characteristics. In these methods, a different T is selected for each pixel in the image. The T can be of many types like mean, gaussian, median, mode(not used generally).
 
* '''[[Histogram]] shape'''-based methods, where, for example, the peaks, valleys and curvatures of the smoothed histogram are analyzed.<ref>{{Cite journal |last1=Zack |first1=G W |last2=Rogers |first2=W E |last3=Latt |first3=S A |date=July 1977 |title=Automatic measurement of sister chromatid exchange frequency |journal=Journal of Histochemistry & Cytochemistry |language=en |volume=25 |issue=7 |pages=741–753 |doi=10.1177/25.7.70454 |pmid=70454 |s2cid=15339151 |doi-access=free }}</ref> Note that these methods, more than others, make certain assumptions about the image intensity probability distribution (i.e., the shape of the histogram),
==Multiband thresholding==
* '''Clustering'''-based methods, where the gray-level samples are clustered in two parts as background and foreground,<ref>{{Cite journal |date=1978 |title=Picture Thresholding Using an Iterative Selection Method |journal=IEEE Transactions on Systems, Man, and Cybernetics |volume=8 |issue=8 |pages=630–632 |doi=10.1109/TSMC.1978.4310039 }}</ref><ref>{{Cite journal |last1=Barghout |first1=L. |last2=Sheynin |first2=J. |date=2013-07-25 |title=Real-world scene perception and perceptual organization: Lessons from Computer Vision |journal=Journal of Vision |volume=13 |issue=9 |pages=709 |doi=10.1167/13.9.709 |doi-access=free }}</ref>
* '''[[Entropy (information theory)|Entropy]]'''-based methods result in algorithms that use the entropy of the foreground and background regions, the cross-entropy between the original and binarized image, etc.,<ref>{{citeCite journal |last1=ZhangKapur |first1=YJ. N. |titlelast2=OptimalSahoo multi|first2=P. K. |last3=Wong |first3=A. K. C. |date=1985-level03-01 Thresholding|title=A basednew onmethod Maximumfor Tsallisgray-level Entropypicture viathresholding anusing Artificialthe Beeentropy Colonyof the histogram Approach|journal=Entropy|date=2011Computer Vision, Graphics, and Image Processing |volume=1329 |issue=43 |pages=841–859273–285 |doi=10.33901016/e13040841|bibcode=2011Entrp..13..841Z|doi0734-access=free189X(85)90125-2 }}</ref>
* '''Object Attribute'''-based methods search a measure of similarity between the gray-level and the binarized images, such as fuzzy shape similarity, edge coincidence, etc.,
* '''Spatial''' methods [that] use higher-order probability distribution and/or correlation between pixels.
 
[[File:Example of adaptive thresholding.png|thumb|418x418px|Example of the advantage of local thresholding in the case of inhomogeneous lighting. Image adapted from [https://docs.opencv.org/3.4/d7/d4d/tutorial_py_thresholding.html].]]
Colour images can also be thresholded. One approach is to designate a separate threshold for each of the [[RGB color model|RGB]] components of the image and then combine them with an [[Binary and|AND]] operation. This reflects the way the camera works and how the data is stored in the computer, but it does not correspond to the way that people recognize colour. Therefore, the [[HSL and HSV]] colour models are more often used; note that since [[hue]] is a circular quantity it requires [[circular thresholding]]. It is also possible to use the [[CMYK color model|CMYK]] colour model [[#Pham2007|(Pham et al., 2007)]].
 
==Multiband= Global vs local thresholding ===
== Probability distributions ==
In most methods, the same threshold is applied to all pixels of an image. However, in some cases, it can be advantageous to apply a different threshold to different parts of the image, based on the local value of the pixels. This category of methods is called local or adaptive thresholding. They are particularly adapted to cases where images have inhomogeneous lighting, such as in the sudoku image on the right. In those cases, a neighborhood is defined and a threshold is computed for each pixel and its neighborhood. Many global thresholding methods can be adapted to work in a local way, but there are also methods developed specifically for local thresholding, such as the Niblack<ref>{{Cite book |title=An introduction to digital image processing |date=1986 |publisher=Prentice-Hall International |isbn=0-13-480600-X |oclc=1244113797 }}{{pn|date=April 2024}}</ref> or the Bernsen algorithms.
 
Software such as [[ImageJ]] propose a wide range of automatic threshold methods, both global and local.
Histogram shape-based methods in particular, but also many other thresholding algorithms, make certain assumptions about the image intensity probability distribution. The most common thresholding methods work on bimodal distributions, but algorithms have also been developed for [[Unimodal thresholding|unimodal distributions]], multimodal distributions, and [[Circular thresholding|circular distributions]].
=== Benefits of Local Thresholding Over Global Thresholding<ref>Zhou, Huiyu., Wu, Jiahua., Zhang, Jianguo. Digital Image Processing: Part II. United States: Ventus Publishing, 2010.{{pn|date=April 2024}}</ref> ===
 
* Adaptability to Local Image Characteristics: Local thresholding can adapt to variations in illumination, contrast, and texture within different parts of the image. This adaptability helps in handling images with non-uniform lighting conditions or complex textures.
== Automatic thresholding ==
* Preservation of Local Details: By applying tailored thresholds to different regions, local thresholding can preserve fine details and edges that might be lost in global thresholding, especially in areas with varying intensities or gradients.
Automatic thresholding is a great way to extract useful information encoded into pixels while minimizing background noise. This is accomplished by utilizing a feedback loop to optimize the threshold value before converting the original grayscale image to binary. The idea is to separate the image into two parts; the background and foreground.<ref>{{Cite book|title=Digital Image Processing and Analysis with MATLAB and CVIPtools, Third Edition|last=E.|first=Umbaugh, Scott|isbn=9781498766074|edition=3rd|oclc=1016899766|date = 2017-11-30}}</ref>
* Reduced Sensitivity to Noise: Local thresholding can be less sensitive to noise compared to global thresholding, as the thresholding decision is based on local statistics rather than the entire image.
 
=== Examples of Algorithms for Local Thresholding ===
# Select initial threshold value, typically the mean 8-bit value of the original image.
# Divide the original image into two portions;
## Pixel values that are less than or equal to the threshold; background
## Pixel values greater than the threshold; foreground
# Find the average mean values of the two new images
# Calculate the new threshold by averaging the two means.
# If the difference between the previous threshold value and the new threshold value are below a specified limit, you are finished. Otherwise apply the new threshold to the original image keep trying.
 
* Niblack's Method:<ref>{{Cite book |first=Wayne |last=Niblack |title=An introduction to digital image processing |date=1986 |publisher=Prentice-Hall International |isbn=0-13-480600-X |oclc=1244113797 |pages=115-116 }}</ref> Niblack's algorithm computes a local threshold for each pixel based on the mean and standard deviation of the pixel's neighborhood. It adjusts the threshold based on the local characteristics of the image, making it suitable for handling variations in illumination.
* Bernsen's Method:<ref>Chaki, Nabendu., Shaikh, Soharab Hossain., Saeed, Khalid. Exploring Image Binarization Techniques. Germany: Springer India, 2014.{{pn|date=April 2024}}</ref> Bernsen's algorithm calculates the threshold for each pixel by considering the local contrast within a neighborhood. It uses a fixed window size and is robust to noise and variations in background intensity.
* Sauvola's Method:<ref>{{cite journal |last1=Sauvola |first1=J. |last2=Pietikäinen |first2=M. |title=Adaptive document image binarization |journal=Pattern Recognition |date=February 2000 |volume=33 |issue=2 |pages=225–236 |doi=10.1016/S0031-3203(99)00055-2 |bibcode=2000PatRe..33..225S }}</ref> Sauvola's algorithm extends Niblack's method by incorporating a dynamic factor that adapts the threshold based on the local contrast and mean intensity. This adaptive factor improves the binarization results, particularly in regions with varying contrasts.
 
==Extensions Automaticof thresholdingbinary thresholding==
=== Note about limits and threshold selection ===
The limit mentioned above is user definable. A larger limit will allow a greater difference between successive threshold values. Advantages of this can be quicker execution but with a less clear boundary between background and foreground. Picking starting thresholds is often done by taking the mean value of the grayscale image. However, it is also possible to pick out the starting threshold values based on the two well separated peaks of the image histogram and finding the average pixel value of those points. This can allow the algorithm to converge faster; allowing a much smaller limit to be chosen.
 
=== MethodMulti-band limitationsimages ===
ColourColor images can also be thresholded. One approach is to designate a separate threshold for each of the [[RGB color model|RGB]] components of the image and then combine them with an [[Binary and|AND]] operation. This reflects the way the camera works and how the data is stored in the computer, but it does not correspond to the way that people recognize colourcolor. Therefore, the [[HSL and HSV]] colourcolor models are more often used; note that since [[hue]] is a circular quantity it requires [[circular thresholding]]. It is also possible to use the [[CMYK color model|CMYK]] colourcolor model.<ref>{{Cite journal [[#Pham2007|(last1=Pham et|first1=Nhu-An |last2=Morrison |first2=Andrew |last3=Schwock |first3=Joerg |last4=Aviel-Ronen |first4=Sarit |last5=Iakovlev |first5=Vladimir |last6=Tsao |first6=Ming-Sound |last7=Ho |first7=James |last8=Hedley |first8=David alW., |date=2007)]]-02-27 |title=Quantitative image analysis of immunohistochemical stains using a CMYK color model |journal=Diagnostic Pathology |volume=2 |issue=1 |pages=8 |doi=10.1186/1746-1596-2-8 |pmc=1810239 |pmid=17326824 |doi-access=free }}</ref>
Automatic thresholding will work best when a good background to foreground contrast ratio exists. Meaning the picture must be taken in good lighting conditions with minimal glare.
 
=== SeeMultiple alsothresholds ===
Instead of a single threshold resulting in a binary image, it is also possible to introduce multiple increasing thresholds <math>T_n</math>. In that case, implementing <math>N</math> thresholds will result in an image with <math>N</math> classes, where pixels with intensity <math>I_{ij}</math> such that <math>T_n < I_{ij} < T_{n+1}</math> will be assigned to class <math>n</math>. Most of the binary automatic thresholding methods have a natural extension for multi-thresholding.
*[[Otsu's method]]
 
*[[Balanced histogram thresholding]]
== Limitations ==
Thresholding will work best under certain conditions :
 
* low level of noise
* higher intra-class variance than inter-class variance, i.e., pixels from a same group have closer intensities to each other than to pixels of another group,
* homogeneous lighting, etc.
 
In difficult cases, thresholding will likely be imperfect and yield a binary image with [[false positives and false negatives]].
 
==References==
{{Reflist}}
 
==Sources==
*<cite id=Pham2007> Pham N, Morrison A, Schwock J et al. (2007). Quantitative image analysis of immunohistochemical stains using a CMYK color model. [http://www.pubmedcentral.nih.gov/articlerender.fcgi?tool=pubmed&pubmedid=17326824 ''Diagn Pathol.'' '''2:'''8].</cite>
*<cite id=Shapiro2001> [[Linda Shapiro|Shapiro, Linda G.]] & Stockman, George C. (2002). "Computer Vision". Prentice Hall. {{ISBN|0-13-030796-3}}</cite>
*<cite id=Sezgin2004> Mehmet Sezgin and Bulent Sankur, Survey over image thresholding techniques and quantitative performance evaluation, Journal of Electronic Imaging 13(1), 146–165 (January 2004). {{doi|10.1117/1.1631315}}</cite>
 
==Further reading==
*Gonzalez, Rafael C. & Woods, Richard E. (2002). Thresholding. In Digital Image Processing, pp.&nbsp;595&ndash;611. Pearson Education. {{ISBN|81-7808-629-8}}
*M. Luessi,{{cite M.journal |last1=Eichmann, G. M. Schuster, and A. K. Katsaggelos,|first1=Marco |title=Framework for efficient optimal multilevel image thresholding, |journal=Journal of Electronic Imaging, vol.|date=2009 |volume=18, pp.&nbsp;013004+,|issue=1 2009.|pages=013004–013004–10 {{doi|doi=10.1117/1.3073891 |bibcode=2009JEI....18a3004L }}
*Y.K. Lai,{{cite P.L.journal |last1=Rosin, |first1=Paul L. |title=Efficient Circular Thresholding, |journal=IEEE Trans.Transactions on Image Processing |date=March 2014 |volume=23( |issue=3), pp.&nbsp;992&ndash;1001|pages=992–1001 (2014). {{doi|doi=10.1109/TIP.2013.2297014 |pmid=24464614 |bibcode=2014ITIP...23..992Y |url=https://orca.cardiff.ac.uk/id/eprint/61181/ }}
*Scott E. Umbaugh (2018). Digital Image Processing and Analysis, pp 93–96. CRC Press. {{ISBN|978-1-4987-6602-9}}