acldvppRgbToGrayscale

Applicability

Product

Supported

Atlas A3 training products / Atlas A3 inference products

Atlas A2 training products / Atlas A2 inference products

Atlas 200I/500 A2 inference products

x

Atlas inference products

x

Atlas training products

x

Function Usage

Description: converts RGB Images into grayscale images.

Prototype

Each operator has two-phase API calls. First, acldvppRgbToGrayscaleGetWorkspaceSize is called to calculate the required workspace size based on the computation process. Then, acldvppRgbToGrayscale is called to perform computation. The two-phase APIs are as follows:

  • First-phase API:
    1
    acldvppStatus acldvppRgbToGrayscaleGetWorkspaceSize(const aclTensor *self, uint32_t outputChannelsNum, aclTensor *out, uint64_t *workspaceSize, aclOpExecutor **executor)
    
  • Second-phase API:
    1
    acldvppStatus acldvppRgbToGrayscale(void *workspace, uint64_t workspaceSize, aclOpExecutor *executor, aclrtStream stream)
    

acldvppRgbToGrayscaleWorkspaceSize

  • Parameters:
    • self: input tensor of the operator, which is of the aclTensor type created by calling aclCreateTensor (the tensor data is stored on the device). The value of dataType of the input tensor can be UINT8 or FLOAT, the value of Format can be NCHW or NHWC, and non-contiguous tensors are not supported. The value of N can be 1 or left empty, and the value of C can be 3 (3: input RGB image).
    • outputChannelsNum: number of channels for outputting grayscale images. The value can be 1 or 3. When the value is 3, the pixel values of all channels of the returned image are the same.
    • out: output tensor of the operator, which is of the aclTensor type created by calling aclCreateTensor (the tensor data is stored on the device). The value of dataType of the output tensor can be UINT8 or FLOAT, the value of Format can be NCHW or NHWC, and non-contiguous tensors are not supported. The value of N can only be 1, the value of C can be 1 or 3 (1: GRAY image; 3: RGB image and the pixel values of the R, G, and B channels are the same), and the values of dataType and Format must be the same as those of self.
    • workspaceSize: size of the workspace to be allocated on the device.
    • executor: operator executor, containing the operator computation process.
  • Returns:

    acldvppStatus status code. For details, see acldvpp Return Codes.

acldvppRgbToGrayscale

  • Parameters:
    • workspace: address of the device memory allocated by calling aclrtMalloc. The size of the device memory is specified by workspaceSize.
    • workspaceSize: The value must be the same as that obtained by calling acldvppRgbToGrayscaleGetWorkspaceSize.
    • executor: op executor, which contains the operator computation process and is the same as the executor of the acldvppRgbToGrayscaleGetWorkspaceSize API.
    • stream: stream for executing a task, which can be a created stream for saving resources or newly created by calling aclrtCreateStream.
  • Returns:

    acldvppStatus status code. For details, see acldvpp Return Codes.

Constraints

  • The supported image resolution ranges from 6 x 4 to 4096 x 8192.
  • The data types, width, and height of the input and output must be the same.
  • For a forcible check, the input format is RGB and the output format is gray.