快捷函数 - 一行代码提取元素 Args: image_path: 图片路径 groups: 要处理的组列表(默认全部) Returns: ProcessingResult 使用示例: # 提取所有元素 result = extract_elements("test.png") # 只提取图片和箭头 result = extract_elements("test.png", groups
(image_path: str,
groups: List[PromptGroup] = None)
| 1089 | |
| 1090 | # ======================== 快捷函数 ======================== |
| 1091 | def extract_elements(image_path: str, |
| 1092 | groups: List[PromptGroup] = None) -> ProcessingResult: |
| 1093 | """ |
| 1094 | 快捷函数 - 一行代码提取元素 |
| 1095 | |
| 1096 | Args: |
| 1097 | image_path: 图片路径 |
| 1098 | groups: 要处理的组列表(默认全部) |
| 1099 | |
| 1100 | Returns: |
| 1101 | ProcessingResult |
| 1102 | |
| 1103 | 使用示例: |
| 1104 | # 提取所有元素 |
| 1105 | result = extract_elements("test.png") |
| 1106 | |
| 1107 | # 只提取图片和箭头 |
| 1108 | result = extract_elements("test.png", groups=[PromptGroup.IMAGE, PromptGroup.ARROW]) |
| 1109 | """ |
| 1110 | extractor = Sam3InfoExtractor() |
| 1111 | context = ProcessingContext(image_path=image_path) |
| 1112 | |
| 1113 | if groups: |
| 1114 | all_elements = [] |
| 1115 | for group in groups: |
| 1116 | result = extractor.extract_by_group(context, group) |
| 1117 | all_elements.extend(result.elements) |
| 1118 | |
| 1119 | for i, elem in enumerate(all_elements): |
| 1120 | elem.id = i |
| 1121 | |
| 1122 | return ProcessingResult( |
| 1123 | success=True, |
| 1124 | elements=all_elements, |
| 1125 | canvas_width=context.canvas_width, |
| 1126 | canvas_height=context.canvas_height |
| 1127 | ) |
| 1128 | |
| 1129 | return extractor.process(context) |
| 1130 | |
| 1131 | def extract_with_prompts(image_path: str, |
| 1132 | prompts: List[str], |
nothing calls this directly
no test coverage detected