From f7294f59661fd897e98cda68b9371ae88de2fb87 Mon Sep 17 00:00:00 2001 From: zcr Date: Tue, 13 Jan 2026 12:32:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20seg=20any=20thing=20=E6=96=B0=E5=A2=9Eb?= =?UTF-8?q?ox=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/api_design.py | 13 ++++++++++++- app/schemas/design.py | 12 ++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/app/api/api_design.py b/app/api/api_design.py index 20db150..e5148e8 100644 --- a/app/api/api_design.py +++ b/app/api/api_design.py @@ -395,6 +395,8 @@ async def seg_anything(request_data: SAMRequestModel): ### 参数说明: - **image_path**: 图片在服务器或云端的相对路径。 + - **type**: 推理类型 + - **box**: 框选矩形点位信息 - **points**: 交互点的坐标列表。每个点为 [x, y] 像素格式。 - **labels**: 坐标点的属性标签,必须与 points 长度一致: - 1: **前景点** (代表想要分割出的区域) @@ -402,10 +404,19 @@ async def seg_anything(request_data: SAMRequestModel): ### 请求体示例: ```json + point { "image_path": "aida-users/89/sketch/4e8fe37d-7068-400a-ac94-c01647fa5f6f.png", + "type":"point", "points": [[310, 403], [493, 375], [261, 266], [404, 484]], - "labels": [1, 1, 0, 1] + "labels": [1, 1, 0, 1], + } + + box + { + "image_path": "aida-users/89/sketch/4e8fe37d-7068-400a-ac94-c01647fa5f6f.png", + "type":"box", + "box": [350, 286, 544, 520], } ``` """ diff --git a/app/schemas/design.py b/app/schemas/design.py index 103d8dd..c89f4a7 100644 --- a/app/schemas/design.py +++ b/app/schemas/design.py @@ -1,10 +1,14 @@ -from pydantic import BaseModel +from typing import List, Optional + +from pydantic import BaseModel, Field class SAMRequestModel(BaseModel): - image_path: str - points: list[list[float]] - labels: list[int] + image_path: str = Field(..., description="图片路径,必填字段") + type: str = Field(..., description="推理类型,必填字段") + points: Optional[List[List[float]]] = None + labels: Optional[List[int]] = None + box: Optional[List[int]] = None class DesignModel(BaseModel):