Bradley local image thresholding

A fast an well performing local image thresholding method.
4.7K Downloads
Updated Sun, 19 Apr 2015 15:11:17 +0000

View License

The brief idea of the algorithm is that every image's pixel is set to black if its brightness is T percent lower than the average brightness of the surrounding pixels in the window of the specified size, otherwise it is set to white. The detail description of the algorithm is available at:
Derek Bradley, Gerhard Roth (2005). Adaptive Thresholding Using the Integral Image. Retrieved from http://www.scs.carleton.ca/~roth/iit-publications-iti/docs/gerh-50002.pdf
The advantage of this method is that the binarized images are subjectively almost as good as from Sauvola's method but the calculation is two times faster than Sauvola's method. Sauvola’s method calculates local mean and local variance, while Bradley’s method calculates just local mean. And because the variance can be calculated using following formula for variance:

Var(X) = E(X^2) – [E(X)]^2,

the calculation of variance reuses the result from the calculation of the local mean (E(X))^2 and just calculates E(X^2). And that takes the same amount of time as calculation of the local mean. Since calculation of local mean and variance is the most time consuming operation performed by these two methods, Bradley’s method is effectively two times faster than Sauvola’s method. A brief comparison of Bradley’s and Sauvola’s method is available at a blog:

Altun Nazmi (2010). Adaptive (Local) Thresholding For AForge.NET. Retrieved from http://nazmialtun.blogspot.com/2010/10/adaptive-local-thresholding-for.html

The calculation of the local mean is performed with integral image method in constant time regardless of the kernel size.

Examples of real word applications are: bar-code scanners, license plate registration.

Cite As

Jan Motl (2024). Bradley local image thresholding (https://www.mathworks.com/matlabcentral/fileexchange/40854-bradley-local-image-thresholding), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R13
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.4.0.0

Fixed the default parameters.

1.3.0.0

Fixed the default parameters.

1.2.0.0

Added reference to the author's article.

1.1.0.0

Fixed typo in function description, expanded the package description.

1.0.0.0