Adaptive Threshold

group Adaptive Threshold

Functions

NVCVStatus cvcudaAdaptiveThresholdCreate(NVCVOperatorHandle *handle, int32_t maxBlockSize, int32_t maxVarShapeBatchSize)

Constructs an instance of the adaptive threshold.

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

    • Must not be NULL.

  • maxBlockSize[in] The maximum block size 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 cvcudaAdaptiveThresholdSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVTensorHandle in, NVCVTensorHandle out, double maxValue, NVCVAdaptiveThresholdType adaptiveMethod, NVCVThresholdType thresholdType, int32_t blockSize, double c)

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

Limitations:

Input: Data Layout: [kNHWC, kHWC, kNCHW, kCHW] Channels: [1]

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

No

16bit Unsigned

No

16bit Signed

No

32bit Unsigned

No

32bit Signed

No

16bit Float

No

32bit Float

No

64bit Float

No

Output: Data Layout: [kNHWC, kHWC, kNCHW, kCHW] Channels: [1]

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

No

16bit Unsigned

No

16bit Signed

No

32bit Unsigned

No

32bit Signed

No

16bit Float

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:
  • 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.

  • maxValue[in] Non-zero value assigned to the pixels for which the condition is satisfied.

  • adaptiveMethod[in] Adaptive thresholding algorithm to use. NVCVAdaptiveThresholdType.

  • thresholdType[in] Thresholding type that must be either THRESH_BINARY or THRESH_BINARY_INV. NVCVThresholdType.

  • blockSize[in] Size of a pixel neighborhood that is used to calculate a threshold value for the pixel: 3, 5, 7, and so on.

  • c[in] Constant subtracted from the mean or weighted mean. Normally, it is positive but may be zero or negative as well.

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 cvcudaAdaptiveThresholdVarShapeSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVImageBatchHandle in, NVCVImageBatchHandle out, NVCVTensorHandle maxValue, NVCVAdaptiveThresholdType adaptiveMethod, NVCVThresholdType thresholdType, NVCVTensorHandle blockSize, NVCVTensorHandle c)