Average Blur

group NVCV_C_ALGORITHM_AVERAGEBLUR

Functions

NVCVStatus cvcudaAverageBlurCreate(NVCVOperatorHandle *handle, int32_t maxKernelWidth, int32_t maxKernelHeight, int32_t maxVarShapeBatchSize)

Constructs an instance of the AverageBlur.

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

    • Must not be NULL.

  • maxKernelWidth[in] The maximum kernel width that will be used by the operator.

    • Positive value.

  • maxKernelHeight[in] The maximum kernel height that will be used by the operator.

    • Positive value.

  • maxVarShapeBatchSize[in] The maximum batch size that will be used by the var-shape operator.

    • Positive value.

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 cvcudaAverageBlurSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVTensorHandle in, NVCVTensorHandle out, int32_t kernelWidth, int32_t kernelHeight, int32_t kernelAnchorX, int32_t kernelAnchorY, NVCVBorderType borderMode)

Executes the AverageBlur operation on the given cuda stream. This operation does not wait for completion.

Limitations:

Input: Data Layout: [kNHWC, kHWC] Channels: [1, 3, 4]

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

No

16bit Unsigned

Yes

16bit Signed

Yes

32bit Unsigned

No

32bit Signed

Yes

32bit Float

Yes

64bit Float

No

Output: Data Layout: [kNHWC, kHWC] Channels: [1, 3, 4]

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

No

16bit Unsigned

Yes

16bit Signed

Yes

32bit Unsigned

No

32bit Signed

Yes

32bit Float

Yes

64bit Float

No

Input/Output dependency

 Property      |  Input == Output
-------------- | -------------
 Data Layout   | Yes
 Data Type     | Yes
 Number        | Yes
 Channels      | Yes
 Width         | Yes
 Height        | Yes

Parameters
  • handle[in] Handle to the operator.

    • Must not be NULL.

  • stream[in] Handle to a valid CUDA stream.

  • in[in] Input tensor.

  • out[out] Output tensor.

  • kernelWidth[in] AverageBlur kernel width.

  • kernelHeight[in] AverageBlur kernel height.

  • kernelAnchorX[in] Kernel anchor in X direction. Indicates the relative position of a filtered point within the kernel. Use (-1, -1) to indicate kernel center.

  • kernelAnchorY[in] Kernel anchor in Y direction. Indicates the relative position of a filtered point within the kernel. Use (-1, -1) to indicate kernel center.

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

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.

NVCVStatus cvcudaAverageBlurVarShapeSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVImageBatchHandle in, NVCVImageBatchHandle out, NVCVTensorHandle kernelSize, NVCVTensorHandle kernelAnchor, NVCVBorderType borderMode)

Executes the AverageBlur operation on a batch of images.

Parameters
  • in[in] Input image batch.

  • out[out] Output image batch.

  • kernelSize[in] Average blur kernel size as a Tensor of int2.

    • Must be of pixel type NVCV_DATA_TYPE_2S32

  • kernelAnchor[in] Average blur kernel anchor as a Tensor of int2.

    • Must be of pixel type NVCV_DATA_TYPE_2S32

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