快捷函数 - 评估转换结果 Args: elements: 元素列表 image_path: 原始图片路径 canvas_width: 画布宽度(可选,会自动从图片获取) canvas_height: 画布高度(可选) config: 评估配置 Returns: 评估结果字典,包含: - overall_score: 总体分数(0-100,即覆盖率) - content_coverage: 内容覆盖率
(elements: List[ElementInfo],
image_path: str,
canvas_width: int = 0,
canvas_height: int = 0,
config: Dict = None)
| 1424 | # ======================== 快捷函数 ======================== |
| 1425 | |
| 1426 | def evaluate_result(elements: List[ElementInfo], |
| 1427 | image_path: str, |
| 1428 | canvas_width: int = 0, |
| 1429 | canvas_height: int = 0, |
| 1430 | config: Dict = None) -> Dict[str, Any]: |
| 1431 | """ |
| 1432 | 快捷函数 - 评估转换结果 |
| 1433 | |
| 1434 | Args: |
| 1435 | elements: 元素列表 |
| 1436 | image_path: 原始图片路径 |
| 1437 | canvas_width: 画布宽度(可选,会自动从图片获取) |
| 1438 | canvas_height: 画布高度(可选) |
| 1439 | config: 评估配置 |
| 1440 | |
| 1441 | Returns: |
| 1442 | 评估结果字典,包含: |
| 1443 | - overall_score: 总体分数(0-100,即覆盖率) |
| 1444 | - content_coverage: 内容覆盖率 |
| 1445 | - missing_rate: 漏检率 |
| 1446 | - bad_regions: 问题区域列表 |
| 1447 | - metrics: 详细指标 |
| 1448 | |
| 1449 | 使用示例: |
| 1450 | result = evaluate_result(elements, "test.png") |
| 1451 | print(f"评分: {result['overall_score']}/100") |
| 1452 | print(f"覆盖率: {result['content_coverage']}%") |
| 1453 | print(f"漏检率: {result['missing_rate']}%") |
| 1454 | print(f"问题区域: {len(result['bad_regions'])}个") |
| 1455 | |
| 1456 | for region in result['bad_regions']: |
| 1457 | print(f" - {region['bbox']}: {region['description']}") |
| 1458 | """ |
| 1459 | evaluator = MetricEvaluator(config) |
| 1460 | context = ProcessingContext( |
| 1461 | image_path=image_path, |
| 1462 | elements=elements, |
| 1463 | canvas_width=canvas_width, |
| 1464 | canvas_height=canvas_height |
| 1465 | ) |
| 1466 | |
| 1467 | result = evaluator.process(context) |
| 1468 | return result.metadata |
| 1469 | |
| 1470 | def compute_content_coverage(image_path: str, |
| 1471 | bboxes: List[List[int]], |
nothing calls this directly
no test coverage detected