Gaussian
- group NVCV_C_ALGORITHM_GAUSSIAN
Functions
-
NVCVStatus cvcudaGaussianCreate(NVCVOperatorHandle *handle, int32_t maxKernelWidth, int32_t maxKernelHeight, int32_t maxVarShapeBatchSize)
Constructs an instance of the Gaussian.
- 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 cvcudaGaussianSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVTensorHandle in, NVCVTensorHandle out, int32_t kernelWidth, int32_t kernelHeight, double sigmaX, double sigmaY, NVCVBorderType borderMode)
Executes the Gaussian 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] Gaussian kernel width.
kernelHeight – [in] Gaussian kernel height.
sigmaX – [in] Gaussian kernel standard deviation in X direction.
sigmaY – [in] Gaussian kernel standard deviation in Y direction.
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 cvcudaGaussianVarShapeSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVImageBatchHandle in, NVCVImageBatchHandle out, NVCVTensorHandle kernelSize, NVCVTensorHandle sigma, NVCVBorderType borderMode)
Executes the Gaussian operation on a batch of images.
- Parameters
in – [in] Input image batch.
out – [out] Output image batch.
kernelSize – [in] Gaussian kernel size as a Tensor of int2.
Must be of pixel type NVCV_DATA_TYPE_2S32
sigma – [in] Gaussian sigma as a Tensor of double2.
Must be of pixel type NVCV_DATA_TYPE_2F64
borderMode – [in] Border mode to be used when accessing elements outside input image, cf.
NVCVBorderType
.
-
NVCVStatus cvcudaGaussianCreate(NVCVOperatorHandle *handle, int32_t maxKernelWidth, int32_t maxKernelHeight, int32_t maxVarShapeBatchSize)