MCPcopy Index your code
hub / github.com/BIT-DataLab/Edit-Banana / extract_elements

Function extract_elements

modules/sam3_info_extractor.py:1091–1129  ·  view source on GitHub ↗

快捷函数 - 一行代码提取元素 Args: image_path: 图片路径 groups: 要处理的组列表(默认全部) Returns: ProcessingResult 使用示例: # 提取所有元素 result = extract_elements("test.png") # 只提取图片和箭头 result = extract_elements("test.png", groups

(image_path: str, 
                     groups: List[PromptGroup] = None)

Source from the content-addressed store, hash-verified

1089
1090# ======================== 快捷函数 ========================
1091def 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
1131def extract_with_prompts(image_path: str,
1132 prompts: List[str],

Callers

nothing calls this directly

Calls 5

extract_by_groupMethod · 0.95
processMethod · 0.95
Sam3InfoExtractorClass · 0.85
ProcessingContextClass · 0.85
ProcessingResultClass · 0.85

Tested by

no test coverage detected