import dataclasses import cv2 import numpy as np import json from app.utils.defect_inference.AnalyzeCenter import analyze_centering_rotated, draw_rotated_bounding_boxes if __name__ == "__main__": img_path = r"C:\Code\ML\Project\CheckCardBoxAndDefectServer\temp\250805_pokemon_0001.jpg" inner_file_path = r"C:\Code\ML\Project\CheckCardBoxAndDefectServer\temp\inner\250805_pokemon_0001.json" outer_file_path = r"C:\Code\ML\Project\CheckCardBoxAndDefectServer\temp\outer\250805_pokemon_0001.json" # center_result = analyze_centering_rotated(inner_file_path, outer_file_path) # draw_rotated_bounding_boxes(img_path, inner_file_path, outer_file_path) with open(inner_file_path, "r", encoding="utf-8") as f: inner_data = json.load(f) with open(outer_file_path, "r", encoding="utf-8") as f: outer_data = json.load(f) inner_points = inner_data['shapes'][0]['points'] outer_points = outer_data['shapes'][0]['points'] center_result = analyze_centering_rotated(inner_points, outer_points) data = { "img_id": 2, "img_url": "", "inference_result": { "center_inference": { "angel_diff": center_result[2], "center_left": center_result[0][0], "center_right": center_result[0][1], "center_top": center_result[1][0], "center_bottom": center_result[1][1] } } } data['inference_result']['inner_box'] = inner_data data['inference_result']['outer_box'] = outer_data print(data)