1
This commit is contained in:
8
main.py
8
main.py
@@ -1,6 +1,7 @@
|
|||||||
import io
|
import io
|
||||||
import os
|
import os
|
||||||
import urllib.request # 必须这样写,不能只 import urllib
|
import urllib.request # 必须这样写,不能只 import urllib
|
||||||
|
import uuid
|
||||||
from typing import Optional, List
|
from typing import Optional, List
|
||||||
|
|
||||||
import cv2
|
import cv2
|
||||||
@@ -20,6 +21,7 @@ minio_client = Minio(settings.MINIO_URL, access_key=settings.MINIO_ACCESS, secre
|
|||||||
|
|
||||||
|
|
||||||
class SAMRequest(BaseModel):
|
class SAMRequest(BaseModel):
|
||||||
|
user_id: int
|
||||||
image_path: str = Field(..., description="图片路径,必填字段")
|
image_path: str = Field(..., description="图片路径,必填字段")
|
||||||
type: str = Field(..., description="推理类型,必填字段")
|
type: str = Field(..., description="推理类型,必填字段")
|
||||||
points: Optional[List[List[float]]] = None
|
points: Optional[List[List[float]]] = None
|
||||||
@@ -91,10 +93,12 @@ class SimpleLitAPI(ls.LitAPI):
|
|||||||
rgba_image = image.convert("RGBA")
|
rgba_image = image.convert("RGBA")
|
||||||
rgba_np = np.array(rgba_image)
|
rgba_np = np.array(rgba_image)
|
||||||
rgba_np[:, :, 3] = mask.astype(np.uint8) * 255
|
rgba_np[:, :, 3] = mask.astype(np.uint8) * 255
|
||||||
|
|
||||||
|
object_name = f"{request.user_id}/seg_anything/{uuid.uuid4()}"
|
||||||
req = oss_upload_image(
|
req = oss_upload_image(
|
||||||
oss_client=minio_client,
|
oss_client=minio_client,
|
||||||
bucket="test",
|
bucket="aida-users",
|
||||||
object_name=f"test.png",
|
object_name=f"{object_name}.png",
|
||||||
image_bytes=cv2.imencode('.png', rgba_np)[1]
|
image_bytes=cv2.imencode('.png', rgba_np)[1]
|
||||||
)
|
)
|
||||||
return {"output": f"{req.bucket_name}/{req.object_name}"}
|
return {"output": f"{req.bucket_name}/{req.object_name}"}
|
||||||
|
|||||||
Reference in New Issue
Block a user