Laplacian

group Laplacian

Functions

NVCVStatus cvcudaLaplacianCreate(NVCVOperatorHandle *handle)

Constructs an instance of the Laplacian.

Parameters:

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

  • Must not be NULL.

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 cvcudaLaplacianSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVTensorHandle in, NVCVTensorHandle out, int32_t ksize, float scale, NVCVBorderType borderMode)

Executes the Laplacian 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.

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

No

16bit Unsigned

Yes

16bit Signed

No

32bit Unsigned

No

32bit Signed

No

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.

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

No

16bit Unsigned

Yes

16bit Signed

No

32bit Unsigned

No

32bit Signed

No

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.

  • ksize[in] Aperture size used to compute the second-derivative filters, it can be 1 or 3.

  • scale[in] Scale factor for the Laplacian values (use 1 for no scale).

  • 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 cvcudaLaplacianVarShapeSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVImageBatchHandle in, NVCVImageBatchHandle out, NVCVTensorHandle ksize, NVCVTensorHandle scale, NVCVBorderType borderMode)

Executes the Laplacian operation on a batch of images.

Parameters:
  • in[in] Input image batch.

  • out[out] Output image batch.

  • ksize[in] Aperture size to compute second-derivative filters, either 1 or 3 per image, as a 1D Tensor of int.

    • Must be of pixel type NVCV_DATA_TYPE_S32

  • scale[in] Scale factor Laplacian values as a 1D Tensor of float.

    • Must be of pixel type NVCV_DATA_TYPE_F32

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