diff --git a/app/service/design_fast/pipeline/segmentation.py b/app/service/design_fast/pipeline/segmentation.py index bdf75a0..ebdb6c6 100644 --- a/app/service/design_fast/pipeline/segmentation.py +++ b/app/service/design_fast/pipeline/segmentation.py @@ -47,6 +47,7 @@ class Segmentation: # 本地查询seg 缓存是否存在 _, seg_result = self.load_seg_result(result["image_id"]) # 判断缓存和实际图片size是否相同 + _ = False if not _ or result["image"].shape[:2] != seg_result.shape: # 推理获得seg 结果 seg_result = get_seg_result(result['image']) diff --git a/app/service/design_fast/utils/synthesis_item.py b/app/service/design_fast/utils/synthesis_item.py index ff44157..8b7e55e 100644 --- a/app/service/design_fast/utils/synthesis_item.py +++ b/app/service/design_fast/utils/synthesis_item.py @@ -347,7 +347,8 @@ def transpose_rotate(layer, image): rotate = layer.get('rotate', 0) paste_x, paste_y = layer['adaptive_position'][1], layer['adaptive_position'][0] - + original_w = image.width + original_h = image.height # transpose左右是1 上下是-1 if transpose[0] != 1: # 左右 @@ -361,8 +362,8 @@ def transpose_rotate(layer, image): image = image.rotate(-rotate, expand=True) # 4. 计算粘贴位置以保持视觉中心一致 # 原本 (15, 36) 是 288*288 的左上角,我们计算其中心点 - target_center_x = 15 + 288 // 2 - target_center_y = 36 + 288 // 2 + target_center_x = paste_x + original_w // 2 + target_center_y = paste_y + original_h // 2 # 获取旋转后图像的新尺寸 new_w, new_h = image.size