ImageScan

ImageScan[f,image]

evaluates f applied to each pixel of image in turn.

Details and Options

  • The channel values supplied to f are normally in the range 0 to 1, regardless of the underlying type used in the Image object.
  • ImageScan[f,image] discards the results of applying f to the pixels in image. Unlike ImageApply, ImageScan does not build up a new image and returns Null.
  • ImageScan is useful in carrying out an operation on parts of expressions where the operation has a "side effect", such as making an assignment.
  • ImageScan works on images with any number of channels.
  • You can also use Throw to exit from ImageScan. »
  • ImageScan traverses the pixels of image in a row-wise order from left to right.
  • ImageScan has the option Interleaving, which specifies whether f should be applied to individual channel values or to the complete list of channel values for a given pixel. The default setting is Interleaving->True.
  • With the setting Masking->roi, a region of interest to be scanned can be specified.
  • ImageScan works with Image3D objects.

Examples

open allclose all

Basic Examples  (5)

Scan pixels of a grayscale image:

Scan pixels of a color image:

Scan pixels of a 3D image:

Count the number of white pixels in an image:

Compute the mean pixel value:

Generalizations & Extensions  (1)

Throw works inside ImageScan:

Options  (4)

Interleaving  (2)

By default, lists of channel values are scanned:

Using Interleaving->False, individual channel values can be scanned:

The interleaving setting does not affect the traversal of a single-channel image:

Masking  (2)

By default, all image pixels are scanned:

Scan only the pixels specified by the mask:

Compute the mean color of the Spikey:

Create a disk of the computed mean color:

Mean color computed without masking:

Properties & Relations  (1)

ImageScan does the same as ImageApply, but without returning a result:

Introduced in 2012
 (9.0)