# Matlab Image Processing Toolbox

Matlab is a popular and flexible mathematics package that has particular strengths in manipulating matrices and visualizing data. The Matlab Image Processing Toolkit is one of a range of extensions that can be added onto Matlab in order to provide extra functionality for specialized applications.

Matlab is marketed commercially by The MathWorks (The MathWorks, Inc, 24 Prime Park Way, Natick, MA 01760-1500; Tel:(508)653-1415; Fax:(508)653-2997; E-mail:info@mathworks.com), and is available for a wide range of machine architectures.

Matlab image processing functions are implemented as M-files which are called by name from the Matlab command line. The NOTES column in the tables below gives the name of these M-files. Matlab provides a powerful and easy to use scripting language that enables you to write additional image processing functions yourself relatively easily.

## Image Arithmetic

``` -----------------------------------------------------------------------------
| OPERATOR           | INC | NOTES                                            |
|--------------------+-----+--------------------------------------------------|
| Addition           | Yes | +                                                |
| Subtraction        | Yes | -                                          |
| Multiplication     | Yes | *                                                |
| Division           | Yes | /                                                |
| Blending           | Yes | Trivial to perform. e.g. `p*X + (1-p)*Y'   |
| Logical AND/NAND   | Yes | &                                                |
| Logical OR/NOR     | Yes | |                                                |
| Logical XOR/XNOR   | Yes | xor                                              |
| Invert/Logical NOT | Yes | ~                                           |
| Bitshift Operators | No  |                                                  |
-----------------------------------------------------------------------------```

## Point Operations

``` -----------------------------------------------------------------------------
| OPERATOR           | INC | NOTES                                            |
|--------------------+-----+--------------------------------------------------|
| Thresholding       | Yes | im2bw                                            |
| Adaptive Threshold | No  |                                                  |
| Contrast Stretching| Yes | imadjust                                         |
| Hist. Equalization | Yes | histeq                                           |
| Logarithm Operator | Yes | log                                              |
| Raise to Power     | Yes | ^                                                |
-----------------------------------------------------------------------------```

## Geometric Operations

``` -----------------------------------------------------------------------------
| OPERATOR           | INC | NOTES                                            |
|--------------------+-----+--------------------------------------------------|
| Scale              | Yes | imresize                                         |
| Rotate             | Yes | imrotate                                         |
| Reflect            | Yes | fliplr/flipud                                    |
| Translate          | Yes | imgcrop                                          |
| Affine Transform   | No  |                                                  |
-----------------------------------------------------------------------------```

## Image Analysis

``` -----------------------------------------------------------------------------
| OPERATOR           | INC | NOTES                                            |
|--------------------+-----+--------------------------------------------------|
| Intensity Histogram| Yes | imhist                                           |
| Classification     | No  |                                                  |
| Labeling           | No  |                                                  |
-----------------------------------------------------------------------------```

## Morphology

``` -----------------------------------------------------------------------------
| OPERATOR           | INC | NOTES                                            |
|--------------------+-----+--------------------------------------------------|
| Dilation           | Yes | dilate                                           |
| Erosion            | Yes | erode                                            |
| Opening            | Yes | bwmorph                                          |
| Closing            | Yes | bwmorph                                          |
| Hit/Miss Transform | Yes | bwmorph                                          |
| Thinning           | Yes | bwmorph                                          |
| Thickening         | Yes | bwmorph                                          |
| Skeletonization    | Yes | bwmorph                                          |
-----------------------------------------------------------------------------```

## Digital Filters

``` -----------------------------------------------------------------------------
| OPERATOR           | INC | NOTES                                            |
|--------------------+-----+--------------------------------------------------|
| Mean Filter        | Yes | fspecial                                         |
| Median Filter      | Yes | medfilt2                                         |
| Gaussian Smoothing | Yes | fspecial                                         |
| Conservative Smooth| No  |                                                  |
| Crimmins           | No  |                                                  |
| Frequency Filters  | Yes | Many functions...                                |
| Laplacian Filter   | Yes | fspecial                                         |
| Unsharp Filter     | Yes | fspecial                                         |
-----------------------------------------------------------------------------```

## Feature Detectors

``` -----------------------------------------------------------------------------
| OPERATOR           | INC | NOTES                                            |
|--------------------+-----+--------------------------------------------------|
| Roberts Cross      | Yes | edge                                             |
| Sobel              | Yes | edge                                             |
| Canny              | No  |                                                  |
| Compass            | No  |                                                  |
| Zero Crossing      | Yes | edge                                             |
| Line Detector      | No  |                                                  |
-----------------------------------------------------------------------------```

## Image Transforms

``` -----------------------------------------------------------------------------
| OPERATOR           | INC | NOTES                                            |
|--------------------+-----+--------------------------------------------------|
| Distance Transform | No  |                                                  |
| Fourier Transform  | Yes | fft2                                             |
| Hough Transform    | No  |                                                  |
-----------------------------------------------------------------------------```

## Image Synthesis

``` -----------------------------------------------------------------------------
| OPERATOR           | INC | NOTES                                            |
|--------------------+-----+--------------------------------------------------|
| Noise Generation   | Yes | imnoise                                          |
-----------------------------------------------------------------------------```