Composite

group Composite

Unnamed Group

NVCVStatus cvcudaCompositeSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVTensorHandle foreground, NVCVTensorHandle background, NVCVTensorHandle fgMask, NVCVTensorHandle output)

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

Limitations:

Input: Data Layout: [kNHWC, kHWC, kNCHW, kCHW] Channels: [3] Note: Foreground and background are 3-channel images; fgMask is a single-channel 8-bit mask.

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: [3, 4]

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      | No
 Width         | Yes
 Height        | Yes

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

    • Must not be NULL.

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

  • foreground[in] input foreground tensor. Each image is BGR (3-channel) 8-bit.

  • background[in] input background tensor. Each image is BGR (3-channel) 8-bit.

  • fgMask[in] input foreground mask tensor. Each mask image is grayscale 8-bit.

  • output[out] output tensor. Each output image is BGR(A) (3-channel for BGR, 4-channel for BGRA) 8-bit.

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 cvcudaCompositeVarShapeSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVImageBatchHandle foreground, NVCVImageBatchHandle background, NVCVImageBatchHandle fgMask, NVCVImageBatchHandle output)

Functions

NVCVStatus cvcudaCompositeCreate(NVCVOperatorHandle *handle)

Constructs and an instance of the composite operator.

Parameters:

handle[out] Where the image 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.