debuq
Browse files- predict_pose.py +30 -0
predict_pose.py
CHANGED
|
@@ -532,4 +532,34 @@ def predict_pose(video: List[np.ndarray], models: tuple, sign_space=4, yolo_sign
|
|
| 532 |
results["sign_space"].append(pad_bbox)
|
| 533 |
results["images"] = video
|
| 534 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 535 |
return results
|
|
|
|
| 532 |
results["sign_space"].append(pad_bbox)
|
| 533 |
results["images"] = video
|
| 534 |
|
| 535 |
+
# ==========================================
|
| 536 |
+
# NOVÉ: ULOŽENÍ KEYPOINTS DO JSON SOUBORU
|
| 537 |
+
# ==========================================
|
| 538 |
+
|
| 539 |
+
# 1. Vytvoříme složku, kam se budou JSONy ukládat
|
| 540 |
+
output_dir = "pose_results"
|
| 541 |
+
os.makedirs(output_dir, exist_ok=True)
|
| 542 |
+
|
| 543 |
+
# 2. Vytvoříme unikátní jméno souboru s časovým razítkem
|
| 544 |
+
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
|
| 545 |
+
json_filename = os.path.join(output_dir, f"keypoints_{timestamp}.json")
|
| 546 |
+
|
| 547 |
+
# 3. Připravíme data pro JSON.
|
| 548 |
+
# Musíme je vybrat z results, protože ty obsahují i obrázky (numpy arrays),
|
| 549 |
+
# které do JSONu nejdou přímo uložit.
|
| 550 |
+
json_data = {
|
| 551 |
+
"keypoints": results["keypoints"],
|
| 552 |
+
"cropped_keypoints": results["cropped_keypoints"]
|
| 553 |
+
}
|
| 554 |
+
|
| 555 |
+
# 4. Uložíme do souboru
|
| 556 |
+
try:
|
| 557 |
+
with open(json_filename, "w", encoding="utf-8") as f:
|
| 558 |
+
json.dump(json_data, f, indent=4)
|
| 559 |
+
print(f"DEBUG: Keypoints úspěšně uloženy do souboru: {json_filename}")
|
| 560 |
+
except Exception as e:
|
| 561 |
+
print(f"VAROVÁNÍ: Nepodařilo se uložit JSON soubor. Chyba: {e}")
|
| 562 |
+
|
| 563 |
+
# ==========================================
|
| 564 |
+
|
| 565 |
return results
|