Adaptive Thresholding of Images

An adaptive threshold binarizes a grayscale image based on the local character of the image (which you can select from any of the photos in the Wolfram image library).
In this implementation, the adaptive method finds the mean value in each neighborhood. If the pixel value is greater than a threshold multiplied by this mean, the pixel is set to "1" (white), and otherwise is set to "0" (black). This changes a grayscale image to black and white. When applied to the three RGB channels of a color image, the result is a combination of an edge detection and a posterization; regions are outlined in bright colors.
With the infill option, the value of the central pixel is set to "0" (black), or it is left at the original value. This provides a dark halo around the edges of grayscale objects and sets a black outline around objects in a colored image.


  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]


The filter has two controls: the size of the neighborhood and the threshold value. As the neighborhood is decreased, smaller features are revealed. As the threshold is increased, the image reliably darkens (it is lighter as the threshold is decreased). The checkbox lets you compare the original image, the outlined-thresholded image, and the infilled version. The "detail" slider lets you choose between a smaller image (faster) and better fidelity (slower to calculate).
    • Share:

Embed Interactive Demonstration New!

Just copy and paste this snippet of JavaScript code into your website or blog to put the live Demonstration on your site. More details »

Files require Wolfram CDF Player or Mathematica.

Mathematica »
The #1 tool for creating Demonstrations
and anything technical.
Wolfram|Alpha »
Explore anything with the first
computational knowledge engine.
MathWorld »
The web's most extensive
mathematics resource.
Course Assistant Apps »
An app for every course—
right in the palm of your hand.
Wolfram Blog »
Read our views on math,
science, and technology.
Computable Document Format »
The format that makes Demonstrations
(and any information) easy to share and
interact with.
STEM Initiative »
Programs & resources for
educators, schools & students.
Computerbasedmath.org »
Join the initiative for modernizing
math education.
Step-by-Step Solutions »
Walk through homework problems one step at a time, with hints to help along the way.
Wolfram Problem Generator »
Unlimited random practice problems and answers with built-in step-by-step solutions. Practice online or make a printable study sheet.
Wolfram Language »
Knowledge-based programming for everyone.
Powered by Wolfram Mathematica © 2018 Wolfram Demonstrations Project & Contributors  |  Terms of Use  |  Privacy Policy  |  RSS Give us your feedback
Note: To run this Demonstration you need Mathematica 7+ or the free Mathematica Player 7EX
Download or upgrade to Mathematica Player 7EX
I already have Mathematica Player or Mathematica 7+