Skip to contents

adaptiveThreshold transforms a grayscale image to a binary image using an adaptive threshold.

Usage

adaptiveThreshold(
  image,
  max_value = 255,
  method = "mean",
  threshold_type = "inverse",
  block_size = 31,
  C = 25,
  target = "new",
  in_place = NULL
)

Arguments

image

An an 8-bit (8U) single-channel Image object.

max_value

Non-zero value assigned to the pixels for which the condition determined by `threshold_type` is satisfied (default: 255).

method

The name of the adaptive thresholding algorithm to use. It can be either 'mean' - mean of the block_size * block_size neighborhood - or 'gaussian' - Gaussian weighted sum of the block_size * block_size neighborhood (default: 'mean').

threshold_type

The name of the threshold type to use. It can be either 'binary' or 'inverse' (default: 'inverse'). If 'binary', each pixel is replaced by `max_value` if its value is above the adaptive threshold, and by zero otherwise. If 'inverse' each pixel is replaced by zero if its value is above the adaptive threshold, and by `max_value` otherwise.

block_size

Size of a pixel neighborhood that is used to calculate a threshold value for the pixel (default: 31). It must be an odd number greater than 1.

C

Constant subtracted from the mean or weighted mean. Normally, it is positive but may be zero or negative as well (default: 25).

target

The location where the results should be stored. It can take 3 values:

  • "new":a new Image object is created and the results are stored inside (the default).

  • "self":the results are stored back into image (faster but destructive).

  • An Image object:the results are stored in another existing Image object. This is fast and will not replace the content of image but will replace that of target. Note that if target does not have the same dimensions, number of channels, and bit depth as image, an error may be thrown.

in_place

Deprecated. Use target instead.

Value

If target="new", the function returns an Image

object. If target="self", the function returns nothing and modifies

image in place. If target is an Image object, the function returns nothing and modifies that Image object in place.

See also

Author

Simon Garnier, garnier@njit.edu

Examples

balloon <- image(system.file("sample_img/balloon1.png", package = "Rvision"))
balloon_gray <- changeColorSpace(balloon, "GRAY")
balloon_th <- adaptiveThreshold(balloon_gray)