code: def __call__(self, img):
      angle = self.get_params(self.degrees)
      src_h, src_w = img.shape[:2]
      M = cv2.getRotationMatrix2D(
          center=(src_w / 2, src_h / 2), angle=angle, scale=1.0
      )
      abs_cos, abs_sin = abs(M[0, 0]), abs(M[0, 1])
      dst_w = int(src_h * abs_sin + src_w * abs_cos)
      dst_h = int(src_h * abs_cos + src_w * abs_sin)
      M[0, 2] += (dst_w - src_w) / 2
      M[1, 2] += (dst_h - src_h) / 2
  
      flags = get_interpolation()
      return cv2.warpAffine(
          img,
          M,
          (dst_w, dst_h),
          flags=flags,
          borderMode=cv2.BORDER_REPLICATE,
      )
  
imports: import math
  import numbers
  import random
  import cv2
  import numpy
  from paddle.vision.transforms import Compose, ColorJitter
label_desc: Use image node_id 3 for calling the CVRandomRotation obj's underlying member method code with example usage: obj.__call__(img) and returns: cv2