# imregionalmin

Regional minima

## Syntax

``BW = imregionalmin(I)``
``BW = imregionalmin(I,conn)``

## Description

example

````BW = imregionalmin(I)` returns the binary image `BW` that identifies the regional minima in grayscale image `I`. Regional minima are connected components of pixels with a constant intensity value, surrounded by pixels with a higher value.You optionally can identify regional minima of 2-D images using a GPU (requires Parallel Computing Toolbox™).```
````BW = imregionalmin(I,conn)` specifies the desired connectivity, `conn`.```

## Examples

collapse all

Create a simple sample array with several regional minima.

```A = 10*ones(10,10); A(2:4,2:4) = 3; A(6:8,6:8) = 8```
```A = 10×10 10 10 10 10 10 10 10 10 10 10 10 3 3 3 10 10 10 10 10 10 10 3 3 3 10 10 10 10 10 10 10 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 8 8 8 10 10 10 10 10 10 10 8 8 8 10 10 10 10 10 10 10 8 8 8 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 ```

Calculate the regional minima. The function returns a binary image, the same size as the input image, in which pixels with the value `1` represent the regional minima. `imregionalmin` sets all other pixels in to `0`.

`regmin = imregionalmin(A)`
```regmin = 10x10 logical array 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ```

## Input Arguments

collapse all

Input array, specified as a numeric array of any dimension.

Example: `I = imread('cameraman.tif');`

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64` | `logical`

Pixel connectivity, specified as one of the values in this table. The default connectivity is `8` for 2-D images, and `26` for 3-D images.

Value

Meaning

Two-Dimensional Connectivities

4-connected

Pixels are connected if their edges touch. The neighborhood of a pixel are the adjacent pixels in the horizontal or vertical direction.

8-connected

Pixels are connected if their edges or corners touch. The neighborhood of a pixel are the adjacent pixels in the horizontal, vertical, or diagonal direction.

Three-Dimensional Connectivities

6-connected

Pixels are connected if their faces touch. The neighborhood of a pixel are the adjacent pixels in:

• One of these directions: in, out, left, right, up, and down

18-connected

Pixels are connected if their faces or edges touch. The neighborhood of a pixel are the adjacent pixels in:

• One of these directions: in, out, left, right, up, and down

• A combination of two directions, such as right-down or in-up

26-connected

Pixels are connected if their faces, edges, or corners touch. The neighborhood of a pixel are the adjacent pixels in:

• One of these directions: in, out, left, right, up, and down

• A combination of two directions, such as right-down or in-up

• A combination of three directions, such as in-right-up or in-left-down

For higher dimensions, `imregionalmin` uses the default value `conndef(ndims(I),'maximal')`.

Connectivity can also be defined in a more general way for any dimension by specifying a 3-by-3-by- ... -by-3 matrix of `0`s and `1`s. The `1`-valued elements define neighborhood locations relative to the center element of `conn`. Note that `conn` must be symmetric about its center element. See Specifying Custom Connectivities for more information.

Data Types: `single` | `double` | `int8` | `int16` | `int32` | `int64` | `uint8` | `uint16` | `uint32` | `uint64`

## Output Arguments

collapse all

Locations of regional minima, returned as a logical array of the same size as `I`. Pixels with the value `1` indicate regional maxima; all other pixels are set to `0`.

Data Types: `logical`

Download ebook