# Documentation

### This is machine translation

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

# imregionalmin

Regional minima

## Syntax

``BW = imregionalmin(I)``
``BW = imregionalmin(I,conn)``
``gpuarrayBW = imregionalmin(gpuarrayI,___)``

## Description

example

````BW = imregionalmin(I)` returns the binary image `BW` that identifies the regional minima in `I`. Regional minima are connected components of pixels with a constant intensity value, and whose external boundary pixels all have a higher value. In `BW`, pixels that are set to `1` identify regional minima; all other pixels are set to 0. ```
````BW = imregionalmin(I,conn)` computes the regional minima, where `conn` specifies the desired connectivity. By default, `imregionalmin` uses 8-connected neighborhoods for 2-D images and 26-connected neighborhoods for 3-D images```

example

````gpuarrayBW = imregionalmin(gpuarrayI,___)` performs the operation on a GPU. The input image must be a `gpuArray`. The function returns a `gpuArray`. This syntax requires Parallel Computing Toolbox™.```

## 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 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 ```

Create a 10-by-10 pixel sample image that contains two regional minima.

```A = 10*gpuArray.ones(10,10); A(2:4,2:4) = 3; % minima 3 lower than surround A(6:8,6:8) = 8 % minima 8 lower than surroundA(6:8,6:8) = 7; ```
```A = 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 10 10 10 10 10 10 10 10 10 10```

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

`regmin = imregionalmin(A)`
```regmin = 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 nonsparse numeric array of any dimension.

Example: `I = imread('glass.png'); BW = imregionalmin(I);`

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

Connectivity, specified as a one of the scalar values in the following table. By default, `imregionalmin` uses 8-connected neighborhoods for 2-D images and 26-connected neighborhoods for 3-D images. For higher dimensions, `imregionalmin` uses `conndef(ndims(I),'maximal')`. Connectivity can be defined in a more general way for any dimension by using for `conn` 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.

Value

Meaning

Two-dimensional connectivities

4

4-connected neighborhood

8

8-connected neighborhood

Three-dimensional connectivities

6

6-connected neighborhood

18

18-connected neighborhood

26

26-connected neighborhood

Example: `B = imregionalmin(A,4);`

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

Input image for GPU, specified as a gpuArray.

Example: ```gpuarrayI = gpuArray(imread('cameraman.tif')); gpuarrayBW = imregionalmin(gpuarrayI);```

## Output Arguments

collapse all

Transformed image, returned as a logical array the same size as `I`.

Transformed image, returned as a gpuArray.