Erosion2d
Performs a two-dimensional erosion using a structuring element matching with a square or a cross.
Access to parameter description
For an introduction:
This algorithm uses a basic structuring element with either 8 neighbors, or 4 neighbors, according to the neighborhood parameter.

Figure 1. Structuring elements
See also
Access to parameter description
For an introduction:
- section Mathematical Morphology
- section Introduction To Erosion
This algorithm uses a basic structuring element with either 8 neighbors, or 4 neighbors, according to the neighborhood parameter.

Figure 1. Structuring elements
Function Syntax
This function returns outputImage.
// Function prototype
std::shared_ptr< iolink::ImageView > erosion2d( std::shared_ptr< iolink::ImageView > inputImage, uint32_t kernelRadius, Erosion2d::Neighborhood neighborhood, std::shared_ptr< iolink::ImageView > outputImage = NULL );
Class Syntax
Parameters
Parameter Name | Description | Type | Supported Values | Default Value | |||||
---|---|---|---|---|---|---|---|---|---|
![]() |
inputImage |
The input image. The image type can be integer or float. | Image | Binary, Label, Grayscale or Multispectral | nullptr | ||||
![]() |
kernelRadius |
The number of iterations (the half size of the structuring element, in pixels). A square structuring element always has an odd side length (3x3, 5x5, etc.) which is defined by twice the kernel radius + 1. | UInt32 | >=1 | 3 | ||||
![]() |
neighborhood |
The 2D neighborhood configuration.
|
Enumeration | CONNECTIVITY_8 | |||||
![]() |
outputImage |
The output image. Its dimensions and type are forced to the same values as the input image. | Image | nullptr |
Object Examples
std::shared_ptr< iolink::ImageView > polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" ); Erosion2d erosion2dAlgo; erosion2dAlgo.setInputImage( polystyrene ); erosion2dAlgo.setKernelRadius( 3 ); erosion2dAlgo.setNeighborhood( Erosion2d::Neighborhood::CONNECTIVITY_8 ); erosion2dAlgo.execute(); std::cout << "outputImage:" << erosion2dAlgo.outputImage()->toString();
Function Examples
std::shared_ptr< iolink::ImageView > polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" ); auto result = erosion2d( polystyrene, 3, Erosion2d::Neighborhood::CONNECTIVITY_8 ); std::cout << "outputImage:" << result->toString();