/
efr
/
SmartCity
Обзор
Документация
Войти
/
efr
/
SmartCity
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
utils/custom_plot.py
34 строки
1 KB
Sergey
add_project
27 фев 2025, 19:33
27 фев 2025, 19:33
7eeda08
Код
Авторство
О чём код?
import cv2 import numpy as np from collections import defaultdict import settings trajectories = defaultdict(list) def custom_plot(frame, objects): global trajectories for obj in objects: x1, y1, x2, y2 = obj["coords"] label = obj["label"] class_id = obj["class_id"] track_id = obj["track_id"] color = settings.colors.get(class_id) if track_id: if settings.text_info: cv2.putText(frame, f"{label}", (x1, y1 - 5), cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 1) cv2.rectangle(frame, (x1, y1), (x2, y2), color, settings.thickness) if class_id == 0 and track_id is not None: center_x = (x1 + x2) // 2 bottom_y = y2 trajectories[track_id].append((center_x, bottom_y)) if len(trajectories[track_id]) > settings.max_trajectory: trajectories[track_id].pop(0) if len(trajectories[track_id]) > 1: points = np.array(trajectories[track_id], dtype=np.int32) cv2.polylines(frame, [points], False, color, 1) return frame