Main Content

Top-hat

Perform morphological top-hat filtering on intensity or binary images

  • Top-hat Block

Libraries:
Computer Vision Toolbox / Morphological Operations

Description

The Top-hat block performs top-hat filtering on an intensity or binary image using a predefined neighborhood or structuring element. Top-hat filtering is the equivalent of subtracting the result of performing a morphological opening operation on the input image from the input image itself.

To define the structuring element that the block applies to the image, use the Neighborhood or structuring element parameter. Specify this element by entering a vector or matrix of 1s and 0s or by using the strel function.

This block uses two-dimensional flat structuring elements only.

Ports

Input

expand all

Specify an input image as a matrix of intensity values. This port is unnamed unless you set the Neighborhood or structuring element source parameter to Input port.

Data Types: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point

Specify neighborhood values representing a structuring element as a vector or matrix of 1s and 0s or by using the strel function.

Dependencies

To enable this port, set the Neighborhood or structuring element source parameter to Input port.

Data Types: Boolean

Output

expand all

The top-hat filtered image is returned as a matrix of intensity values. The size and data type of the filtered image are the same as those of the input image.

Data Types: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point

Parameters

expand all

Specify the type of image as one of these options:

  • Intensity — If the input image is an intensity image, select this option.

  • Binary — If the input image is a binary image, select this option.

Specify the source of neighborhood or structuring element as one of these options:

  • Specify via dialog — Use the Neighborhood or structuring element parameter to specify a neighborhood or structuring element.

  • Input port — Use the Nhood input port to specify neighborhood values representing a structuring element.

Specify neighborhood or structuring element as a vector or matrix of 1s and 0s, a strel object or an array of strel objects. When you specify this value as an array of strel objects, the block applies each object to the entire image in turn.

If the structuring element is decomposable into smaller elements, the block executes at higher speed due to the use of a more efficient algorithm.

Dependencies

To enable this parameter, set the Neighborhood or structuring element source parameter, to Specify via dialog.

Block Characteristics

Data Types

Boolean | double | fixed point | integer | single

Multidimensional Signals

no

Variable-Size Signals

yes

More About

expand all

References

[1] Soille, Pierre. Morphological Image Analysis. Berlin, Heidelberg: Springer Berlin Heidelberg, 2004. https://doi.org/10.1007/978-3-662-05088-0.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced before R2006a