diff --git a/app/service/design/items/pipelines/split.py b/app/service/design/items/pipelines/split.py index 6569c5d..62e61f9 100644 --- a/app/service/design/items/pipelines/split.py +++ b/app/service/design/items/pipelines/split.py @@ -1,4 +1,3 @@ -import io import logging import cv2 @@ -38,8 +37,8 @@ class Split(object): result['front_image'], result["front_image_url"], _ = upload_png_mask(result_front_image_pil, f'{generate_uuid()}', mask=None) height, width = front_mask.shape - mask_image = np.zeros((height, width, 3)) - mask_image[front_mask != 0] = [0, 0, 255] + mask_image = np.zeros((height, width, 4), dtype=np.uint8) + mask_image[front_mask != 0] = [0, 0, 255, 255] if result["name"] in ('blouse', 'dress', 'outwear', 'tops'): result_back_image = np.zeros_like(rgba_image) @@ -47,14 +46,14 @@ class Split(object): result_back_image[back_mask != 0] = rgba_image[back_mask != 0] result_back_image_pil = Image.fromarray(cvtColor(result_back_image, COLOR_BGR2RGBA)) result['back_image'], result["back_image_url"], _ = upload_png_mask(result_back_image_pil, f'{generate_uuid()}', mask=None) - mask_image[back_mask != 0] = [0, 255, 0] + mask_image[back_mask != 0] = [0, 255, 0, 255] - image_bytes = cv2.imencode(".jpg", mask_image)[1].tobytes() - req = oss_upload_image(bucket=AIDA_CLOTHING, object_name=f"mask/mask_{generate_uuid()}.jpg", image_bytes=image_bytes) + image_bytes = cv2.imencode(".png", mask_image)[1].tobytes() + req = oss_upload_image(bucket=AIDA_CLOTHING, object_name=f"mask/mask_{generate_uuid()}.png", image_bytes=image_bytes) result['mask_url'] = req.bucket_name + "/" + req.object_name else: - image_bytes = cv2.imencode(".jpg", mask_image)[1].tobytes() - req = oss_upload_image(bucket=AIDA_CLOTHING, object_name=f"mask/mask_{generate_uuid()}.jpg", image_bytes=image_bytes) + image_bytes = cv2.imencode(".png", mask_image)[1].tobytes() + req = oss_upload_image(bucket=AIDA_CLOTHING, object_name=f"mask/mask_{generate_uuid()}.png", image_bytes=image_bytes) result['mask_url'] = req.bucket_name + "/" + req.object_name result['back_image'] = None result["back_image_url"] = None diff --git a/app/service/utils/oss_client.py b/app/service/utils/oss_client.py index 5557641..65ce3a2 100644 --- a/app/service/utils/oss_client.py +++ b/app/service/utils/oss_client.py @@ -88,7 +88,7 @@ if __name__ == '__main__': # url = "aida-users/89/sketchboard/female/Dress/e6724ab7-8d3f-4677-abe0-c3e42ab7af85.jpeg" # url = "aida-users/87/print/956614a2-7e75-4fbe-9ed0-c1831e37a2c9-4-87.png" # url = "aida-users/89/single_logo/123-89.png" - url = "aida-users/89/product_image/string-89.png" + url = "aida-clothing/mask/mask_f354afb5-6423-11ef-8b08-0826ae3ad6b3.png" # url = "aida-collection-element/12148/Sketchboard/95ea577b-305b-4a62-b30a-39c0dd3ddb3f.png" read_type = "cv2" if read_type == "cv2":