添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Search before asking

  • I have searched the Supervision issues and found no similar feature requests.
  • Question

    I don't want to default these colors, I want to dynamically generate colors instead of manually specifying fixed colors below, what should I do. Thank you! 🙏🏻

    ultralytics_file_example.py

    COLORS = sv.ColorPalette.from_hex(["#E6194B", "#3CB44B", "#FFE119", "#3C76D1"])
    COLOR_ANNOTATOR = sv.ColorAnnotator(color=COLORS)
    LABEL_ANNOTATOR = sv.LabelAnnotator(
    color=COLORS, text_color=sv.Color.from_hex("#000000")

    Additional

    No response

    COLORS = sv.ColorPalette.from_hex(["#E6194B", "#3CB44B", "#FFE119", "#3C76D1"])

    ["#E6194B", "#3CB44B", "#FFE119", "#3C76D1"]

    For the above code, I want the color not to be fixed and written here again. For example, pass a number to get a color, or get a color at random. Because some services are randomly drawn irregular graphics, at the same time we do not know how many irregular graphics to draw. I want to assign colors to these irregular shapes automatically, but instead specify the corresponding colors

    from ultralytics.utils.plotting import Annotator, colors model = YOLO("yolov8n-seg.pt") # segmentation model names = model.model.names cap = cv2.VideoCapture("path/to/video/file.mp4") w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS)) out = cv2.VideoWriter("instance-segmentation.avi", cv2.VideoWriter_fourcc(*"MJPG"), fps, (w, h)) while True: ret, im0 = cap.read() if not ret: print("Video frame is empty or video processing has been successfully completed.") break results = model.predict(im0) annotator = Annotator(im0, line_width=2) if results[0].masks is not None: clss = results[0].boxes.cls.cpu().tolist() masks = results[0].masks.xy for mask, cls in zip(masks, clss): color = colors(int(cls), True) txt_color = annotator.get_txt_color(color) annotator.seg_bbox(mask=mask, mask_color=color, label=names[int(cls)], txt_color=txt_color) out.write(im0) cv2.imshow("instance-segmentation", im0) if cv2.waitKey(1) & 0xFF == ord("q"): break out.release() cap.release() cv2.destroyAllWindows()

    color = colors(int(cls), True) code gets colors instead of specifying them manually

    COLORS = sv.ColorPalette.from_hex(["#E6194B", "#3CB44B", "#FFE119", "#3C76D1"]) This is done by specifying the colors manually