change calculation
Browse files- main.py +1 -1
- utils/helpers.py +5 -2
main.py
CHANGED
@@ -53,7 +53,7 @@ async def predict_image(file: UploadFile = File(...)):
|
|
53 |
background_element = next((element for element in results if element['label'] == 'background'), None)
|
54 |
|
55 |
if background_element:
|
56 |
-
background_area = calculate_mask_area(background_element['mask'])
|
57 |
else:
|
58 |
background_area = 0
|
59 |
|
|
|
53 |
background_element = next((element for element in results if element['label'] == 'background'), None)
|
54 |
|
55 |
if background_element:
|
56 |
+
background_area = calculate_mask_area(background_element['mask'], True)
|
57 |
else:
|
58 |
background_area = 0
|
59 |
|
utils/helpers.py
CHANGED
@@ -9,7 +9,10 @@ def image_to_base64(image: Image.Image) -> str:
|
|
9 |
image.save(buffered, format="JPEG")
|
10 |
return base64.b64encode(buffered.getvalue()).decode("utf-8")
|
11 |
|
12 |
-
def calculate_mask_area(mask: Image.Image) -> int:
|
13 |
mask_array = np.array(mask)
|
14 |
-
|
|
|
|
|
|
|
15 |
return non_zero_pixels
|
|
|
9 |
image.save(buffered, format="JPEG")
|
10 |
return base64.b64encode(buffered.getvalue()).decode("utf-8")
|
11 |
|
12 |
+
def calculate_mask_area(mask: Image.Image, background=False) -> int:
|
13 |
mask_array = np.array(mask)
|
14 |
+
if background:
|
15 |
+
non_zero_pixels = np.count_nonzero(mask_array == 0)
|
16 |
+
else:
|
17 |
+
non_zero_pixels = np.count_nonzero(mask_array)
|
18 |
return non_zero_pixels
|