Spaces:
Saad0KH
/
Running on Zero

Saad0KH commited on
Commit
3315635
·
verified ·
1 Parent(s): b0ccf2e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -16
app.py CHANGED
@@ -284,24 +284,34 @@ def tryon():
284
  })
285
 
286
 
287
- def combine_images_with_masks(tops_image, bottoms_image, mask, is_checked_crop, crop_size):
 
 
 
 
 
 
 
 
 
288
  try:
289
- # Logique de combinaison des images de haut et de bas
290
- if is_checked_crop:
291
- tops_image = tops_image.resize(crop_size)
292
- bottoms_image = bottoms_image.resize(crop_size)
293
- combined_image = Image.new('RGB', (tops_image.width, tops_image.height))
294
- combined_image.paste(tops_image, (0, 0))
295
- combined_image.paste(bottoms_image, (0, tops_image.height // 2))
296
- else:
297
- combined_image = Image.new('RGB', (tops_image.width, tops_image.height))
298
- combined_image.paste(tops_image, (0, 0))
299
- combined_image.paste(bottoms_image, (0, tops_image.height // 2))
300
-
301
- return combined_image
302
-
303
  except Exception as e:
304
- raise ValueError(f"Error combining images with masks: {e}")
 
305
 
306
 
307
  if __name__ == "__main__":
 
284
  })
285
 
286
 
287
+ @app.route('/generate_mask', methods=['POST'])
288
+ def generate_mask():
289
+ data = request.json
290
+ base64_image = data.get('image')
291
+ categorie = data.get('categorie', 'upper_body')
292
+
293
+ # Décodage de l'image
294
+ human_img = decode_image_from_base64(base64_image).convert("RGB")
295
+ human_img_resized = human_img.resize((384, 512))
296
+
297
  try:
298
+ # Génération des points clés et du masque
299
+ keypoints = openpose_model(human_img_resized)
300
+ model_parse, _ = parsing_model(human_img_resized)
301
+ mask, _ = get_mask_location('hd', categorie, model_parse, keypoints)
302
+
303
+ # Redimensionnement du masque à la taille d'origine de l'image
304
+ mask_resized = mask.resize(human_img.size)
305
+
306
+ # Encodage du masque en base64
307
+ mask_base64 = encode_image_to_base64(mask_resized)
308
+
309
+ return jsonify({
310
+ 'mask_image': mask_base64
311
+ })
312
  except Exception as e:
313
+ logging.error(f"Error generating mask: {e}")
314
+ return jsonify({'error': str(e)}), 500
315
 
316
 
317
  if __name__ == "__main__":