20 lines
600 B
Python
20 lines
600 B
Python
import cv2
|
|
import numpy as np
|
|
|
|
def draw_arc_contours(
|
|
img_bgr: np.ndarray,
|
|
vertebrae,
|
|
arc_infos,
|
|
colors=((255, 0, 255), (0, 255, 255), (255, 255, 0)),
|
|
):
|
|
"""Визуализация контура дуги деформации"""
|
|
vis = img_bgr.copy()
|
|
for i, info in enumerate(arc_infos):
|
|
pts = info.get("centerline_pts")
|
|
if pts is None:
|
|
continue
|
|
pts_i = np.round(pts).astype(np.int32).reshape(-1, 1, 2)
|
|
color = colors[i % len(colors)]
|
|
cv2.polylines(vis, [pts_i], isClosed=False, color=color, thickness=3)
|
|
return vis
|