Accelerating the pace of engineering and science

# Documentation Center

• Trial Software

# imhmin

H-minima transform

## Syntax

I2 = imhmin(I,h)
I2 = imhmin(I,h,conn)

## Description

I2 = imhmin(I,h) suppresses all minima in I whose depth is less than h. I is a grayscale image and h is a scalar.

Regional minima are connected components of pixels with a constant intensity value, and whose external boundary pixels all have a higher value.

By default, imhmin uses 8-connected neighborhoods for 2-D images, and 26-connected neighborhoods for 3-D images. For higher dimensions, imhmin uses conndef(ndims(I),'maximal').

I2 = imhmin(I,h,conn) computes the H-minima transform, where conn specifies the connectivity. conn can have any of the following scalar values.

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

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.

## Class Support

I can be of any nonsparse numeric class and any dimension. I2 has the same size and class as I.

## Code Generation

imhmin supports the generation of efficient, production-quality C/C++ code from MATLAB. Generated code for this function uses a precompiled platform-specific shared library. To see a complete list of toolbox functions that support code generation, see Supported Functions.

## Examples

Create a sample image with two regional minima.

```a = 10*ones(10,10);
a(2:4,2:4) = 7;
a(6:8,6:8) = 2

a =

10    10    10    10    10    10    10    10    10    10
10     7     7     7    10    10    10    10    10    10
10     7     7     7    10    10    10    10    10    10
10     7     7     7    10    10    10    10    10    10
10    10    10    10    10    10    10    10    10    10
10    10    10    10    10     2     2     2    10    10
10    10    10    10    10     2     2     2    10    10
10    10    10    10    10     2     2     2    10    10
10    10    10    10    10    10    10    10    10    10
10    10    10    10    10    10    10    10    10    10```

Suppress all minima below a specified value. Note how the region with pixel valued 7 disappears in the transformed image.

```b = imhmin(a,4)

b =

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    10    10    10    10    10    10    10    10
10    10    10    10    10    10    10    10    10    10
10    10    10    10    10     6     6     6    10    10
10    10    10    10    10     6     6     6    10    10
10    10    10    10    10     6     6     6    10    10
10    10    10    10    10    10    10    10    10    10
10    10    10    10    10    10    10    10    10    10```

## References

[1] Soille, P., Morphological Image Analysis: Principles and Applications, Springer-Verlag, 1999, pp. 170-171.