File size: 1,949 Bytes
6104dd3
 
 
 
 
 
 
 
 
5e5e999
6104dd3
b393b9e
 
 
5e5e999
a2c5029
43159c1
 
5a186b4
 
 
 
130fb6c
 
43159c1
 
130fb6c
 
 
 
 
1fb00de
dfee28c
 
43159c1
dfee28c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from src.components.necklaceTryOn import NecklaceTryOn
from typing import Union
from PIL import Image


class Pipeline:
    def __init__(self) -> None:
        self.necklaceTryOnObj = NecklaceTryOn()

    async def necklaceTryOn_(self, image: Image.Image, jewellery: Image.Image, storename: str) -> list[
        Union[Image.Image, str]]:
        result, headerText, mask = self.necklaceTryOnObj.necklaceTryOn(image=image, jewellery=jewellery,
                                                                       storename=storename)
        return [result, headerText, mask]

    async def shoulderPointMaskGeneration_(self, image: Image.Image):
        mask, left, right = self.necklaceTryOnObj.shoulderPointMaskGeneration(image=image)
        return mask, left, right

    async def canvasPoint(self, image: Image.Image, jewellery: Image.Image, storename: str) -> dict:
        points = self.necklaceTryOnObj.canvasPoints(image=image, jewellery=jewellery, storename=storename)
        return points

    async def necklaceTryOnWithPoints_(self, image: Image.Image, jewellery: Image.Image, left_shoulder: tuple[int, int],
                                       right_shoulder: tuple[int, int], storename: str) -> list[
        Union[Image.Image, str]]:
        result, headerText, mask = self.necklaceTryOnObj.necklaceTryOnWithPoints(image=image, jewellery=jewellery,
                                                                                 left_point=left_shoulder,
                                                                                 right_point=right_shoulder,
                                                                                 storename=storename)
        return [result, headerText, mask]

    def necklaceTryOnMannequin_(self, image: Image.Image, jewellery: Image.Image):
        result, resized_image = self.necklaceTryOnObj.necklaceTryOnMannequin(image, jewellery)

        return result, resized_image