foot_i=[7,10,8,11]
# img_show=draw_points(image, result['joints2d'], None)
img_show=draw_points(image, result['joints2d'][0][0][foot_i].unsqueeze(0), f"{debug_dir}/{object_id}_posed2d_{frame_i}.jpg")
def draw_points(image, points, out=None):
if isinstance(points, list) or isinstance(points, tuple):
points = points[0]
show = image.copy()
radius = 2 if points.shape[1] > 100 else 4
for i in range(points.shape[0]):
for j in range(points.shape[1]):
x = int(points[i][j][0])
y = int(points[i][j][1])
cv2.circle(show, (x, y), radius, (255, 0, 0), -1)
if points.shape[1]<1000:
cv2.putText(show, f'{j}', (x+10, y + 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (36, 255, 12), 1)
if out is not None:
cv2.imwrite(out, show[:, :, [2, 1, 0]])
return show