class_docstr: Rotate Image, Polygon, Box
  
  Args:
      scale (float): rotate scale
      angle (float): rotate angle
      fill_value (int, tuple): fill color
      auto_bound (bool): whether auto bound or not
class_docstr_tok: ["Rotate","Image",",","Polygon",",","Box","Args",":","scale","(","float",")",":","rotate","scale","angle","(","float",")",":","rotate","angle","fill_value","(","int",",","tuple",")",":","fill","color","auto_bound","(","bool",")",":","whether","auto","bound","or","not"]
code: def __init__(
      self, scale=1.0, angle=0.0, fill_value=0.0, auto_bound=True
  ):
      super(RRotate, self).__init__()
      self.scale = scale
      self.angle = angle
      self.fill_value = fill_value
      self.auto_bound = auto_bound
  
imports: from __future__ import absolute_import
  from __future__ import print_function
  from __future__ import division
  from numbers import Number, Integral
  import cv2
  import numpy
  import math
  import copy
  from .operators import register_op, BaseOperator
  from ppdet.modeling.rbox_utils import poly2rbox_le135_np, poly2rbox_oc_np, rbox2poly_np
  from ppdet.utils.logger import setup_logger
  from ppdet.utils.compact import imagedraw_textsize_c
label_desc: Use image node_id 1 to create a new RRotate object from inherited base classes: BaseOperator with example: obj = RRotate(scale, angle, fill_value, auto_bound)