Update app.py
Browse files
app.py
CHANGED
|
@@ -321,6 +321,7 @@ def enhanced_composite_with_sam(original_image, inpaint_result, original_mask,
|
|
| 321 |
)
|
| 322 |
|
| 323 |
# Originalbild wird kopiert und mit transparenter Folie überzogen (.convert)
|
|
|
|
| 324 |
# Diese Folie wird an den Stellen ausgestanzt an denen die Maske schwarz ist.
|
| 325 |
original_with_alpha = original_image.copy().convert("RGBA")
|
| 326 |
|
|
@@ -331,10 +332,16 @@ def enhanced_composite_with_sam(original_image, inpaint_result, original_mask,
|
|
| 331 |
# Weiche Kanten für natürlichen Übergang, damit werden 1,5 Pixel von Person grau
|
| 332 |
# und 1,5 Pixel von Umgebung. Effektiv können damit 6-8 Pixel sanft überbrückt werden.
|
| 333 |
soft_mask = mask_inverted.filter(ImageFilter.GaussianBlur(3))
|
|
|
|
|
|
|
|
|
|
| 334 |
original_with_alpha.putalpha(soft_mask)
|
| 335 |
|
| 336 |
# Compositing
|
|
|
|
| 337 |
final_image = new_background.copy().convert("RGBA")
|
|
|
|
|
|
|
| 338 |
final_image.paste(original_with_alpha, (0, 0), original_with_alpha)
|
| 339 |
|
| 340 |
else:
|
|
|
|
| 321 |
)
|
| 322 |
|
| 323 |
# Originalbild wird kopiert und mit transparenter Folie überzogen (.convert)
|
| 324 |
+
# In der Fachsprache heißt das: ein Alpha-Kanal hinzugefügt.
|
| 325 |
# Diese Folie wird an den Stellen ausgestanzt an denen die Maske schwarz ist.
|
| 326 |
original_with_alpha = original_image.copy().convert("RGBA")
|
| 327 |
|
|
|
|
| 332 |
# Weiche Kanten für natürlichen Übergang, damit werden 1,5 Pixel von Person grau
|
| 333 |
# und 1,5 Pixel von Umgebung. Effektiv können damit 6-8 Pixel sanft überbrückt werden.
|
| 334 |
soft_mask = mask_inverted.filter(ImageFilter.GaussianBlur(3))
|
| 335 |
+
|
| 336 |
+
# putalpha stanzt Löcher in die Folie des Originalbildes an denen das Bild weg muß (schwarz),
|
| 337 |
+
# läßt Folie ganz da wo weiß (bleibt) und markiert grau für Anpassung. Person bleibt!
|
| 338 |
original_with_alpha.putalpha(soft_mask)
|
| 339 |
|
| 340 |
# Compositing
|
| 341 |
+
# Hiermit kommt eine Folie über das neu generierte Bild und wird kopiert
|
| 342 |
final_image = new_background.copy().convert("RGBA")
|
| 343 |
+
|
| 344 |
+
# Durch das Einfügen wird die zu erhaltende Person in das neu generierte Bild eingefügt
|
| 345 |
final_image.paste(original_with_alpha, (0, 0), original_with_alpha)
|
| 346 |
|
| 347 |
else:
|