code: def obj_box_coords_rescale(coords=None, shape=None):
      
      if coords is None:
          coords = []
      if shape is None:
          shape = [100, 200]
  
      imh, imw = shape[0], shape[1]
      imh = imh * 1.0  # * 1.0 for python2 : force division to be float point
      imw = imw * 1.0
      coords_new = list()
      for coord in coords:
  
          if len(coord) != 4:
              raise AssertionError("coordinate should be 4 values : [x, y, w, h]")
  
          x = coord[0] / imw
          y = coord[1] / imh
          w = coord[2] / imw
          h = coord[3] / imh
          coords_new.append([x, y, w, h])
      return coords_new
docs: Scale down a list of coordinates from pixel unit to the ratio of image size i.e. in the range of [0, 1].
  
      Parameters
      ------------
      coords : list of list of 4 ints or None
          For coordinates of more than one images .e.g.[[x, y, w, h], [x, y, w, h], ...].
      shape : list of 2 int or None
          【height, width].
  
      Returns
      -------
      list of list of 4 numbers
          A list of new bounding boxes.
  
  
      Examples
      ---------
      >>> coords = obj_box_coords_rescale(coords=[[30, 40, 50, 50], [10, 10, 20, 20]], shape=[100, 100])
      >>> print(coords)
        [[0.3, 0.4, 0.5, 0.5], [0.1, 0.1, 0.2, 0.2]]
      >>> coords = obj_box_coords_rescale(coords=[[30, 40, 50, 50]], shape=[50, 100])
      >>> print(coords)
        [[0.3, 0.8, 0.5, 1.0]]
      >>> coords = obj_box_coords_rescale(coords=[[30, 40, 50, 50]], shape=[100, 200])
      >>> print(coords)
        [[0.15, 0.4, 0.25, 0.5]]
  
      Returns
      -------
      list of 4 numbers
          New coordinates.