docstr: 从scales中随机选择一个尺度，对图片和文本框进行缩放
  :param data: {'img':,'text_polys':,'texts':,'ignore_tags':}
  :return:
docstr_tok: ["\u4ecescales\u4e2d\u968f\u673a\u9009\u62e9\u4e00\u4e2a\u5c3a\u5ea6\uff0c\u5bf9\u56fe\u7247\u548c\u6587\u672c\u6846\u8fdb\u884c\u7f29\u653e",":","param","data",":","{","'img","'",":",",'text_polys","'",":",",'texts","'",":",",'ignore_tags","'",":","}",":","return",":"]
code: def __call__(self, data: dict) -> dict:
      """
      从scales中随机选择一个尺度，对图片和文本框进行缩放
      :param data: {'img':,'text_polys':,'texts':,'ignore_tags':}
      :return:
      """
      if random.random() > self.random_rate:
          return data
      im = data["img"]
      text_polys = data["text_polys"]
  
      if self.keep_ratio:
          # 将图片短边pad到和长边一样
          h, w, c = im.shape
          max_h = max(h, self.size[0])
          max_w = max(w, self.size[1])
          im_padded = np.zeros((max_h, max_w, c), dtype=np.uint8)
          im_padded[:h, :w] = im.copy()
          im = im_padded
      text_polys = text_polys.astype(np.float32)
      h, w, _ = im.shape
      im = cv2.resize(im, self.size)
      w_scale = self.size[0] / float(w)
      h_scale = self.size[1] / float(h)
      text_polys[:, :, 0] *= w_scale
      text_polys[:, :, 1] *= h_scale
  
      data["img"] = im
      data["text_polys"] = text_polys
      return data
  
imports: import math
  import numbers
  import random
  import cv2
  import numpy
  from skimage.util import random_noise
label_desc: Use image node_id 2 for calling the RandomResize obj's underlying member method code with example usage: obj.__call__(data) and returns: data, data