This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Convert image to binary image, based on threshold

im2bw is not recommended. Use imbinarize instead.


BW = im2bw(I, level)
BW = im2bw(X, map, level)
BW = im2bw(RGB, level)


BW = im2bw(I, level) converts the grayscale image I to a binary image. The output image BW replaces all pixels in the input image with luminance greater than level with the value 1 (white) and replaces all other pixels with the value 0 (black). Specify level in the range [0,1]. This range is relative to the signal levels possible for the image's class. Therefore, a level value of 0.5 is midway between black and white, regardless of class. To compute the level argument, you can use the function graythresh. If you do not specify level, im2bw uses the value 0.5.

BW = im2bw(X, map, level) converts the indexed image X with colormap map to a binary image.

BW = im2bw(RGB, level) converts the truecolor image RGB to a binary image.

If the input image is not a grayscale image, im2bw converts the input image to grayscale, and then converts this grayscale image to binary by thresholding.

Class Support

The input image can be of class uint8, uint16, single, int16, or double, and must be nonsparse. The output image BW is of class logical. I and X must be 2-D. RGB images are M-by-N-by-3.


collapse all

load trees
BW = im2bw(X,map,0.4);
imshow(X,map), figure, imshow(BW)

Introduced before R2006a

Was this topic helpful?