code: def visualize(
      image,
      result,
      color_map,
      save_dir=None,
      weight=0.6,
      use_multilabel=False,
  ):
      """
      Convert predict result to color image, and save added image.
  
      Args:
          image (str): The path of origin image.
          result (np.ndarray): The predict result of image.
          color_map (list): The color used to save the prediction results.
          save_dir (str): The directory for saving visual image. Default: None.
          weight (float): The image weight of visual image, and the result weight is (1 - weight). Default: 0.6
          use_multilabel (bool, optional): Whether to enable multilabel mode. Default: False.
  
      Returns:
          vis_result (np.ndarray): If `save_dir` is None, return the visualized result.
      """
  
      color_map = [
          color_map[i : i + 3] for i in range(0, len(color_map), 3)
      ]
      color_map = np.array(color_map).astype("uint8")
  
      im = cv2.imread(image)
      if not use_multilabel:
          # Use OpenCV LUT for color mapping
          c1 = cv2.LUT(result, color_map[:, 0])
          c2 = cv2.LUT(result, color_map[:, 1])
          c3 = cv2.LUT(result, color_map[:, 2])
          pseudo_img = np.dstack((c3, c2, c1))
  
          vis_result = cv2.addWeighted(
              im, weight, pseudo_img, 1 - weight, 0
          )
      else:
          vis_result = im.copy()
          for i in range(result.shape[0]):
              mask = result[i]
              c1 = np.where(mask, color_map[i, 0], vis_result[..., 0])
              c2 = np.where(mask, color_map[i, 1], vis_result[..., 1])
              c3 = np.where(mask, color_map[i, 2], vis_result[..., 2])
              pseudo_img = np.dstack((c3, c2, c1)).astype("uint8")
  
              contour, _ = cv2.findContours(
                  mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE
              )
              vis_result = cv2.addWeighted(
                  vis_result, weight, pseudo_img, 1 - weight, 0
              )
              contour_color = (
                  int(color_map[i, 0]),
                  int(color_map[i, 1]),
                  int(color_map[i, 2]),
              )
              vis_result = cv2.drawContours(
                  vis_result, contour, -1, contour_color, 1
              )
  
      if save_dir is not None:
          if not os.path.exists(save_dir):
              os.makedirs(save_dir)
          image_name = os.path.split(image)[-1]
          out_path = os.path.join(save_dir, image_name)
          cv2.imwrite(out_path, vis_result)
      else:
          return vis_result
  
file_path: PaddleSeg/paddleseg/utils/visualize.py
imports: import os
  import cv2
  import numpy
  from PIL import Image
label_desc: Use image node_id 1 for calling a global function with example usage: visualize(image, result, color_map, save_dir, weight, use_multilabel) and returns: vis_result