code: def get_params(self, width, height, distortion):
      offset_h = sample_asym(distortion * height / 2, size=4).astype(
          dtype=np.int32
      )
      offset_w = sample_asym(distortion * width / 2, size=4).astype(
          dtype=np.int32
      )
      topleft = (offset_w[0], offset_h[0])
      topright = (width - 1 - offset_w[1], offset_h[1])
      botright = (width - 1 - offset_w[2], height - 1 - offset_h[2])
      botleft = (offset_w[3], height - 1 - offset_h[3])
  
      startpoints = [
          (0, 0),
          (width - 1, 0),
          (width - 1, height - 1),
          (0, height - 1),
      ]
      endpoints = [topleft, topright, botright, botleft]
      return np.array(startpoints, dtype=np.float32), np.array(
          endpoints, dtype=np.float32
      )
  
imports: import math
  import numbers
  import random
  import cv2
  import numpy
  from paddle.vision.transforms import Compose, ColorJitter
label_desc: Use image node_id 2 for calling the CVRandomPerspective obj's underlying member method code with example usage: obj.get_params(width, height, distortion) and returns: np,  np