creates a binary image from image by replacing all values above the upper threshold t2 with 1, also including pixels with intensities above the lower threshold t1 that are connected to the foreground.


uses t as the upper threshold, automatically choosing a suitable value for the lower threshold.


chooses the lower and the upper threshold automatically.

Details and Options

  • MorphologicalBinarize effectively performs hysteresis thresholding and is typically used as part of edge-detection methods.
  • MorphologicalBinarize works with 2D as well as 3D images. It converts multichannel and color images into grayscale images, then produces an image in which every pixel has value 0 or 1.
  • The following short forms can be used for the second argument:
  • t{Automatic,t}t1 computed automatically
    {t}{t,Automatic}t2 computed automatically
    {func}{t1,t2}t1=func[t2] with t2 automatic
  • The following options can be given:
  • CornerNeighborsTruewhether to include corner neighbors
    Method"Cluster"method to use to specify the upper threshold
  • MorphologicalBinarize[image,{t},Method->method] specifies the method to use to determine the threshold. See the reference page for FindThreshold for full documentation of available methods.


open allclose all

Basic Examples  (1)

Binarization of an image using double thresholding:

Click for copyable input

Scope  (6)

Options  (3)

Applications  (1)

Properties & Relations  (5)

See Also

Binarize  FindThreshold  EdgeDetect  GradientFilter  GeodesicDilation


Introduced in 2010
| Updated in 2012