Morphology#

Enumerations#

MorphologyMaskType

Morphology mask shape types.

Functions#

NVCVStatus pvaMorphologyCreate(NVCVOperatorHandle *handle, NVCVTensorRequirements *tensorRequirements, PvaMorphologyType morphType, PvaMorphologyMaskParams *maskParams, const NVCVBorderType borderMode, int32_t borderValue)

Constructs and an instance of the Morphology operator.

NVCVStatus pvaMorphologySubmit(NVCVOperatorHandle handle, cupvaStream_t stream, NVCVTensorHandle in, NVCVTensorHandle out)

Executes the morphology operation of Dilates/Erodes on images.

Structs#

PvaMorphologyMaskParamsRec

Morphology mask size and shape parameters.

Enumerations#

enum MorphologyMaskType#

Morphology mask shape types.

Values:

enumerator RECTANGLE_MASK#

Rectange shaped mask.

enumerator CROSS_MASK#

Cross shaped mask.

Functions#

NVCVStatus pvaMorphologyCreate(
NVCVOperatorHandle *handle,
NVCVTensorRequirements *tensorRequirements,
PvaMorphologyType morphType,
PvaMorphologyMaskParams *maskParams,
const NVCVBorderType borderMode,
int32_t borderValue,
)#

Constructs and an instance of the Morphology operator.

Limitations:

Input:

  • Data Layout: [kHWC]

  • Channels: [1]

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

Yes

16bit Unsigned

Yes

16bit Signed

Yes

32bit Unsigned

No

32bit Signed

No

32bit Float

No

64bit Float

No

Output:

  • Data Layout: [kHWC]

  • Channels: [1]

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

Yes

16bit Unsigned

Yes

16bit Signed

Yes

32bit Unsigned

No

32bit Signed

No

32bit Float

No

64bit Float

No

Input/Output Dependency:

Property

Input == Output

Data Layout

Yes

Data Type

Yes

Number

Yes

Channels

Yes

Width

Yes

Height

Yes

Parameters

 maskParams:
 - maskWidth = maskHeight = 3 or 5
 - maskShape = RECTANGLE_MASK if maskWidth == 5
 morphType = PVA_ERODE, PVA_DILATE
 NVCVBorderType = NVCV_BORDER_CONSTANT or NVCV_BORDER_REPLICATE

Parameters:
  • handle – [out] Where the operator instance handle will be written to.

    • Must not be NULL.

  • tensorRequirements – [in] Pointer to the NVCVTensorRequirements structure which contains Tensor rank, shape, layout and data type information.

  • morphType – [in] Type of operation to performs Erode/Dilate. PvaMorphologyType.

  • maskParams – [in] Pointer to the Morphology mask parameters. PvaMorphologyMaskParams.

  • borderMode – [in] Border mode to be used when accessing elements outside input image.

  • borderValue – [in] Constant border value to be used when borderMode is NVCV_BORDER_CONSTANT. Ignored otherwise.

Return values:
  • NVCV_ERROR_INVALID_ARGUMENT – Handle is null.

  • NVCV_ERROR_OUT_OF_MEMORY – Not enough memory to create the operator.

  • NVCV_SUCCESS – Operation executed successfully.

NVCVStatus pvaMorphologySubmit(
NVCVOperatorHandle handle,
cupvaStream_t stream,
NVCVTensorHandle in,
NVCVTensorHandle out,
)#

Executes the morphology operation of Dilates/Erodes on images.

Parameters:
  • handle – [in] Handle to the operator.

    • Must not be NULL.

  • stream – [in] Handle to a valid CUPVA stream.

  • in – [in] Input tensor handle.

  • out – [out] Output tensor handle.

Return values:
  • NVCV_ERROR_INVALID_ARGUMENT – Some parameter is outside valid range.

  • NVCV_ERROR_INTERNAL – Internal error in the operator, invalid types passed in.

  • NVCV_SUCCESS – Operation executed successfully.