Average Blur

group Average Blur

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, kNCHW, kCHW] Channels: 1, 3, 4 Planar tensors must be tightly packed with N*C <= 65535; planar var-shape batches require numImages <= 65535.

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

No

16bit Unsigned

Yes

16bit Signed

Yes

32bit Unsigned

No

32bit Signed

Yes

16bit Float

No

32bit Float

Yes

64bit Float

No

Output: Data Layout: [kNHWC, kHWC, kNCHW, kCHW] Channels: 1, 3, 4 Planar tensors must be tightly packed with N*C <= 65535; planar var-shape batches require numImages <= 65535.

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

No

16bit Unsigned

Yes

16bit Signed

Yes

32bit Unsigned

No

32bit Signed

Yes

16bit Float

No

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.