text: import cv2
  import random
  import numpy as np
  
  def plot_one_box(x, img, color=None, label=None, line_thickness=None):
      # Plots one bounding box on image img
      # x = [[xmin,ymin], [xmax, ymax]]
      tl = line_thickness or round(0.002 * (img.shape[0] + img.shape[1]) / 2) + 1  # line/font thickness
      color = color or [random.randint(0, 255) for _ in range(3)]
      c1, c2 = (int(x[0][0]), int(x[0][1])), (int(x[1][0]), int(x[1][1]))
      cv2.rectangle(img, c1, c2, color, thickness=tl, lineType=cv2.LINE_AA)
      if label:
          tf = max(tl - 1, 1)  # font thickness
          t_size = cv2.getTextSize(label, 0, fontScale=tl / 3, thickness=tf)[0]
          c2 = c1[0] + t_size[0], c1[1] - t_size[1] - 3
          cv2.rectangle(img, c1, c2, color, -1, cv2.LINE_AA)  # filled
          cv2.putText(img, label, (c1[0], c1[1] - 2), 0, tl / 3, [225, 255, 255], thickness=tf, lineType=cv2.LINE_AA)
      return img
  
  def plot_one_polygon(x, img, color=None, label=None, line_thickness=None):
      # Plots one bounding box on image img
      # x = [[xmin,ymin], [xmax, ymax]]
      tl = line_thickness or round(0.002 * (img.shape[0] + img.shape[1]) / 2) + 1  # line/font thickness
      color = color or [random.randint(0, 255) for _ in range(3)]
      cv2.polylines(img, np.int32([x]), isClosed=True,color= color,thickness=tl, lineType=cv2.LINE_AA)
      if label:
          tf = max(tl - 1, 1)  # font thickness
          t_size = cv2.getTextSize(label, 0, fontScale=tl / 3, thickness=tf)[0]
          cv2.polylines(img, np.int32([x]), isClosed=True,color= color,thickness=tl, lineType=cv2.LINE_AA)
          # cv2.putText(img, label, (c1[0], c1[1] - 2), 0, tl / 3, [225, 255, 255], thickness=tf, lineType=cv2.LINE_AA)
      return img
  