Update app.py
Browse files
app.py
CHANGED
|
@@ -215,16 +215,22 @@ def scale_image_and_mask_together(image, mask, target_size=512, bbox_coords=None
|
|
| 215 |
scaled_mask = mask.resize((new_width, new_height), Image.Resampling.NEAREST)
|
| 216 |
|
| 217 |
# Auf Zielgröße padden (zentriert)
|
| 218 |
-
#Image.new("RGB", (target_size, target_size), (0, 0, 0)) erstellt ein neues, leeres, schwarzes Bild in der Ziel-Verarbeitungsgröße
|
|
|
|
| 219 |
padded_image = Image.new("RGB", (target_size, target_size), (0, 0, 0))
|
|
|
|
| 220 |
padded_mask = Image.new("L", (target_size, target_size), 0)
|
| 221 |
|
| 222 |
# Zentrierte Position berechnen
|
| 223 |
-
#
|
| 224 |
x_offset = (target_size - new_width) // 2
|
| 225 |
y_offset = (target_size - new_height) // 2
|
| 226 |
|
|
|
|
|
|
|
| 227 |
padded_image.paste(scaled_image, (x_offset, y_offset))
|
|
|
|
|
|
|
| 228 |
padded_mask.paste(scaled_mask, (x_offset, y_offset))
|
| 229 |
|
| 230 |
# WICHTIG: Speichere alle Informationen für späteres Compositing
|
|
|
|
| 215 |
scaled_mask = mask.resize((new_width, new_height), Image.Resampling.NEAREST)
|
| 216 |
|
| 217 |
# Auf Zielgröße padden (zentriert)
|
| 218 |
+
#Image.new("RGB", (target_size, target_size), (0, 0, 0)) erstellt ein neues, leeres, schwarzes Bild in der Ziel-Verarbeitungsgröße des Modells (512×512 für SD 1.5 oder 1024×1024 für SDXL)
|
| 219 |
+
# in das später das Bild eingefügt wird
|
| 220 |
padded_image = Image.new("RGB", (target_size, target_size), (0, 0, 0))
|
| 221 |
+
#Damit wird ein 512x512 Graustufenbild erstellt in das später die BBox eingefügt wird
|
| 222 |
padded_mask = Image.new("L", (target_size, target_size), 0)
|
| 223 |
|
| 224 |
# Zentrierte Position berechnen
|
| 225 |
+
# das ist der Padding-Bereich bei nicht quadratischen 512x512 Bildern damit daraus 512x512-Bilder werden
|
| 226 |
x_offset = (target_size - new_width) // 2
|
| 227 |
y_offset = (target_size - new_height) // 2
|
| 228 |
|
| 229 |
+
# mit Hilfe der Offsets kann das skalierte Bild mittig in das RGB-Schwarzbild eingefügt werden. Dadurch ergibt sich
|
| 230 |
+
# indirekt der Padding-Bereich.
|
| 231 |
padded_image.paste(scaled_image, (x_offset, y_offset))
|
| 232 |
+
# mit Hilfe der Offsets wird nun die herunterskalierte BBox (entweder als Rechteck oder als SAM-Maske)
|
| 233 |
+
# in das Graustufenbild eingefügt. Das Padding ergibt sich aus dem Graustufenbild!
|
| 234 |
padded_mask.paste(scaled_mask, (x_offset, y_offset))
|
| 235 |
|
| 236 |
# WICHTIG: Speichere alle Informationen für späteres Compositing
|