44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
import json
|
||
import logging
|
||
import time
|
||
|
||
from fastapi import APIRouter, HTTPException
|
||
|
||
from app.schemas.image2sketch import Image2SketchModel
|
||
from app.schemas.response_template import ResponseModel
|
||
from app.service.image2sketch.server import Image2SketchServer
|
||
|
||
router = APIRouter()
|
||
logger = logging.getLogger()
|
||
|
||
|
||
@router.post("/image2sketch")
|
||
def image2sketch(request_item: Image2SketchModel):
|
||
"""
|
||
创建一个具有以下参数的请求体:
|
||
- **image_url**: 提取图片url
|
||
- **style_image_url**: 被模仿sketch图片url
|
||
- **default_style**: 默认风格 粗1,、中2、细3
|
||
- **sketch_bucket**: sketch保存的bucket
|
||
- **sketch_name**: sketch保存的object name
|
||
|
||
示例参数:
|
||
{
|
||
"image_url": "test/image2sketch/real_Dress_3200fecdc83d0c556c2bd96aedbd7fbf.jpg_Img.jpg",
|
||
"style_image_url": "test/image2sketch/style_3.png",
|
||
"default_style": "1",
|
||
"sketch_bucket": "test",
|
||
"sketch_name": "image2sketch/test.png"
|
||
}
|
||
"""
|
||
try:
|
||
start_time = time.time()
|
||
logger.info(f"image2sketch request item is : @@@@@@:{json.dumps(request_item.dict())}")
|
||
service = Image2SketchServer(request_item)
|
||
sketch_url = service.get_result()
|
||
logger.info(f"run time is : {time.time() - start_time}")
|
||
except Exception as e:
|
||
logger.warning(f"image2sketch Run Exception @@@@@@:{e}")
|
||
raise HTTPException(status_code=404, detail=str(e))
|
||
return ResponseModel(data=sketch_url)
|